Questions tagged «dictionary»

词典将键映射到值,从而可以从键中高效地检索值。USE [map-function]标签,用于在数据上映射函数,请;对于地理,[地图]。

14
Java LinkedHashMap获取第一个或最后一个条目
我使用过,LinkedHashMap因为在地图中输入键的顺序很重要。 但是现在我想获得键的值在第一个位置(第一个输入的条目)或最后一个。 是否应该有类似first()和之last()类的方法? 我是否需要一个迭代器才能获取第一个密钥项?那就是为什么我用过LinkedHashMap! 谢谢!

10
如何将字典保存到文件?
我在更改dict值并将dict保存到文本文件(格式必须相同)时遇到问题,我只想更改member_phone字段。 我的文本文件是以下格式: memberID:member_name:member_email:member_phone 我将文本文件拆分为: mdict={} for line in file: x=line.split(':') a=x[0] b=x[1] c=x[2] d=x[3] e=b+':'+c+':'+d mdict[a]=e 当我尝试更改member_phone存储在中时d,值已更改,无法按键流动, def change(mdict,b,c,d,e): a=input('ID') if a in mdict: d= str(input('phone')) mdict[a]=b+':'+c+':'+d else: print('not') 以及如何将字典保存到具有相同格式的文本文件中?

11
在Clojure中将函数映射到映射的值
我想使用相同的键但将一个函数应用于值将一个值映射转换为另一张映射。我认为clojure api中有执行此操作的功能,但我一直找不到它。 这是我正在寻找的示例实现 (defn map-function-on-map-vals [m f] (reduce (fn [altered-map [k v]] (assoc altered-map k (f v))) {} m)) (println (map-function-on-map-vals {:a "test" :b "testing"} #(.toUpperCase %))) {:b TESTING, :a TEST} 有人知道是否map-function-on-map-vals已经存在吗?我认为确实如此(可能也有一个更好的名字)。


16
用Java漂亮打印地图
我正在寻找一种漂亮地打印的好方法Map。 map.toString() 给我: {key1=value1, key2=value2, key3=value3} 我希望地图输入值具有更大的自由度,并且正在寻找更多类似这样的东西: key1="value1", key2="value2", key3="value3" 我写了这段代码: StringBuilder sb = new StringBuilder(); Iterator<Entry<String, String>> iter = map.entrySet().iterator(); while (iter.hasNext()) { Entry<String, String> entry = iter.next(); sb.append(entry.getKey()); sb.append('=').append('"'); sb.append(entry.getValue()); sb.append('"'); if (iter.hasNext()) { sb.append(',').append(' '); } } return sb.toString(); 但是我敢肯定,这样做的方式更加优雅简洁。


4
在范围循环内从地图中删除选定的键是否安全?
如何从地图上删除选定的键?delete()如下面的代码所示,与范围结合使用是否安全? package main import "fmt" type Info struct { value string } func main() { table := make(map[string]*Info) for i := 0; i < 10; i++ { str := fmt.Sprintf("%v", i) table[str] = &Info{str} } for key, value := range table { fmt.Printf("deleting %v=>%v\n", key, value.value) delete(table, key) } } …
135 dictionary  for-loop  go 

5
迭代对应于Python中列表的字典键值
使用Python 2.7。我有一本字典,其中以球队名称为关键,对每支球队得分并允许的奔跑次数作为值列表: NL_East = {'Phillies': [645, 469], 'Braves': [599, 548], 'Mets': [653, 672]} 我希望能够将字典提供给函数并遍历每个团队(键)。 这是我正在使用的代码。现在,我只能逐队参加。我将如何遍历每个团队并为每个团队打印预期的win_percentage? def Pythag(league): runs_scored = float(league['Phillies'][0]) runs_allowed = float(league['Phillies'][1]) win_percentage = round((runs_scored**2)/((runs_scored**2)+(runs_allowed**2))*1000) print win_percentage 谢谢你的帮助。

10
在C中实现字典的快速方法
在用C编写程序时,我想念的一件事就是字典数据结构。用C实现一个最方便的方法是什么?我不是在寻找性能,而是希望从头开始编写它。我也不希望它是通用的-像string-> int这样的东西。但是我确实希望它能够存储任意数量的项目。 这更多地是作为练习。我知道有可用的第三方库。但是请考虑片刻,它们不存在。在这种情况下,实现满足上述要求的字典的最快方法是什么。

8
.NET-字典锁定与ConcurrentDictionary
我找不到有关ConcurrentDictionary类型的足够信息,所以我想在这里问一下。 当前,我使用a Dictionary来保存由多个线程(从线程池,因此没有确切数量的线程)不断访问的所有用户,并且它具有同步访问。 我最近发现,.NET 4.0中有一组线程安全的集合,这看起来非常令人愉快。我想知道,什么是“更有效,更易于管理”的选项,因为我可以选择普通Dictionary访问与同步访问,或者选择已经ConcurrentDictionary是线程安全的访问。 对.NET 4.0的引用 ConcurrentDictionary


26
一个正则表达式,永远不会与任何事物匹配
这听起来像是一个愚蠢的问题,但是我与一些开发人员进行了长时间的交谈,这听起来像是一件有趣的事情。 所以; 您的想法是什么-正则表达式看起来像什么,永远不会被任何字符串匹配! 编辑:为什么我要这个?好吧,首先是因为我觉得思考这样的表达式很有趣,其次是因为我需要用于脚本。 在该脚本中,我将字典定义为Dictionary<string, Regex>。如您所见,它包含一个字符串和一个表达式。 基于该字典,我创建了全部使用此字典作为其工作方式参考的方法,其中一种将正则表达式与已解析的日志文件进行匹配。 如果一个表达式匹配,Dictionary<string, long>则为另一个表达式添加一个由表达式返回的值。因此,为了捕获字典中某个表达式不匹配的所有日志消息,我创建了一个名为“未知”的新组。 在这个组中,添加了其他所有不匹配的内容。但是为了防止“未知”表达式与日志消息不匹配(偶然),我必须创建一个表达式,该表达式无论从我提供的字符串来看,都绝不会匹配。 因此,您有理由提出这个“不是真正的问题” ...

6
在Python3中按索引访问dict_keys元素
我正在尝试通过其索引访问dict_key的元素: test = {'foo': 'bar', 'hello': 'world'} keys = test.keys() # dict_keys object keys.index(0) AttributeError: 'dict_keys' object has no attribute 'index' 我想得到foo。 与: keys[0] TypeError: 'dict_keys' object does not support indexing 我怎样才能做到这一点?


29
如何合并字典的字典?
我需要合并多个词典,例如: dict1 = {1:{"a":{A}}, 2:{"b":{B}}} dict2 = {2:{"c":{C}}, 3:{"d":{D}} 随着A B C和D作为树的叶子像{"info1":"value", "info2":"value2"} 词典的级别(深度)未知,可能是 {2:{"c":{"z":{"y":{C}}}}} 在我的情况下,它表示目录/文件结构,其中节点为docs,而节点为文件。 我想将它们合并以获得: dict3 = {1:{"a":{A}}, 2:{"b":{B},"c":{C}}, 3:{"d":{D}}} 我不确定如何使用Python轻松做到这一点。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.