Questions tagged «dictionary»

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

4
检查值是否已存在于字典列表中?
我有一个Python字典列表,如下所示: a = [ {'main_color': 'red', 'second_color':'blue'}, {'main_color': 'yellow', 'second_color':'green'}, {'main_color': 'yellow', 'second_color':'blue'}, ] 我想检查列表中是否已存在具有特定键/值的字典,如下所示: // is a dict with 'main_color'='red' in the list already? // if not: add item
122 python  list  dictionary 


5
使用对象的字段作为通用词典密钥
如果我想使用对象作为a的键Dictionary,我需要重写哪些方法以使其以特定方式进行比较? 说我有一个具有属性的类: class Foo { public string Name { get; set; } public int FooID { get; set; } // elided } 我想创建一个: Dictionary<Foo, List<Stuff>> 我希望Foo具有相同对象的对象FooID被视为同一组。我需要在Foo该类中重写哪些方法? 总结一下:我想按Stuff对象将Foo对象分类为列表。Stuff对象将具有一个FooID将它们链接到其类别的链接。

12
遍历所有嵌套的字典值?
for k, v in d.iteritems(): if type(v) is dict: for t, c in v.iteritems(): print "{0} : {1}".format(t, c) 我试图遍历字典并打印出所有值不是嵌套字典的键值对。如果值是字典,我想进入它并打印出它的键值对...等等。有什么帮助吗? 编辑 这个怎么样?它仍然只打印一件事。 def printDict(d): for k, v in d.iteritems(): if type(v) is dict: printDict(v) else: print "{0} : {1}".format(k, v) 完整的测试用例 字典: {u'xml': {u'config': {u'portstatus': {u'status': u'good'}, u'target': u'1'}, u'port': …
120 python  dictionary 

14
如何从sqlite查询中获取字典?
db = sqlite.connect("test.sqlite") res = db.execute("select * from table") 通过迭代,我得到了对应于行的列表。 for row in res: print row 我可以得到列的名称 col_name_list = [tuple[0] for tuple in res.description] 但是是否有一些功能或设置可以获取字典而不是列表? {'col1': 'value', 'col2': 'value'} 还是我必须自己做?

10
通过索引访问Python字典的元素
考虑一个像 mydict = { 'Apple': {'American':'16', 'Mexican':10, 'Chinese':5}, 'Grapes':{'Arabian':'25','Indian':'20'} } 例如,如何访问该词典的特定元素?例如,我想在对Apple的第一个元素进行某种格式设置后再打印第一个元素,在我们的例子中,该格式仅是“ American”? 附加信息上面的数据结构是通过在python函数中解析输入文件创建的。一旦创建,它在该运行中将保持不变。 我在函数中使用此数据结构。 因此,如果文件发生更改,则下次运行此应用程序时,文件的内容将有所不同,因此此数据结构的内容将有所不同,但格式将相同。因此,您在我的职能中看到我,我不知道Apple中的第一个元素是“ American”或其他任何元素,因此我不能直接使用“ American”作为键。
117 python  dictionary 

5
C#将List <string>转换为Dictionary <string,string>
这似乎是一件很奇怪的事情,但是忽略了这一点,是否有一种将List转换为Dictionary的简洁方法,其中Dictionary中的每个键值对都只是List中的每个字符串。即 List = string1, string2, string3 Dictionary = string1/string1, string2/string2, string3/string3 我已经做了很多搜索,而实际上在Stackoverflow上有数十个示例,它们以相反的方向进行操作,但并非以这种方式进行。 这样做的原因是我有两个第三部分组件,而更改它们是我无法控制的。一个以列表的形式返回电子邮件地址列表,另一个以To参数为Dictionary的形式发送电子邮件。字典的关键字是电子邮件地址,值是他们的真实姓名。但是,我不知道真实姓名,但是如果您也将真实姓名设置为电子邮件地址,它仍然可以使用。因此,为什么要将列表转换为字典。有很多方法可以做到这一点。列表上的foreach循环将kvp添加到字典中。但是我喜欢简洁的代码,想知道是否有单行解决方案。
117 c#  list  dictionary 

7
在Java中创建空白地图的最佳方法
我需要创建一个空地图。 if (fileParameters == null) fileParameters = (HashMap&lt;String, String&gt;) Collections.EMPTY_MAP; 问题是上面的代码会产生以下警告: 类型安全性:未经检查的从Map转换为HashMap 创建此空地图的最佳方法是什么?


10
为什么词典没有AddRange?
标题已经足够基本了,我为什么不能: Dictionary&lt;string, string&gt; dic = new Dictionary&lt;string, string&gt;(); dic.AddRange(MethodThatReturnAnotherDic());
115 c#  .net  dictionary 

4
如何使用新的computeIfAbsent函数?
我非常想使用Map.computeIfAbsent,但是自从lambdas进入本科以来已经太久了。 几乎直接来自文档:它给出了做事的旧方法的示例: Map&lt;String, Boolean&gt; whoLetDogsOut = new ConcurrentHashMap&lt;&gt;(); String key = "snoop"; if (whoLetDogsOut.get(key) == null) { Boolean isLetOut = tryToLetOut(key); if (isLetOut != null) map.putIfAbsent(key, isLetOut); } 和新方法: map.computeIfAbsent(key, k -&gt; new Value(f(k))); 但在他们的示例中,我认为我不太“了解”。我将如何转换代码以使用新的lambda表达方式?

10
如何从Swift中的Dictionary获取特定索引处的密钥?
我Dictionary在Swift中有一个,我想在特定索引处获取一个键。 var myDict : Dictionary&lt;String,MyClass&gt; = Dictionary&lt;String,MyClass&gt;() 我知道我可以遍历密钥并记录它们 for key in myDict.keys{ NSLog("key = \(key)") } 但是,奇怪的是,这样的事情是不可能的 var key : String = myDict.keys[0] 为什么呢
113 ios  dictionary  swift 

14
跟踪插入顺序的std :: map?
我目前有一个std::map&lt;std::string,int&gt;将整数值存储到唯一字符串标识符的,并且确实在查询该字符串。它主要执行我想要的操作,除了它不跟踪插入顺序。因此,当我迭代地图以打印出值时,它们会根据字符串进行排序;但我希望根据(第一次)插入的顺序对它们进行排序。 我考虑过使用a vector&lt;pair&lt;string,int&gt;&gt;,但是我需要查找字符串并将整数值递增约10,000,000次,因此我不知道a是否std::vector会明显变慢。 有没有一种使用方法,std::map还是有另一个std更适合我需要的容器? [我使用的是GCC 3.4,并且我的值对可能不超过50对std::map。 谢谢。


9
一个像dict一样的python类
我想编写一个行为类似的自定义类dict-因此,我继承自dict。 不过,我的问题是:我需要dict在我的__init__()方法中创建一个私有成员吗?我不明白这一点,因为dict如果我仅继承自,我就已经有行为了dict。 谁能指出为什么大多数继承片段看起来像下面的片段? class CustomDictOne(dict): def __init__(self): self._mydict = {} # other methods follow 而不是简单的... class CustomDictTwo(dict): def __init__(self): # initialize my other stuff here ... # other methods follow 实际上,我认为我怀疑问题的答案是,用户无法直接访问您的词典(即,他们必须使用您提供的访问方法)。 但是,数组访问运算符[]呢?一个人将如何实现呢?到目前为止,我还没有看到显示如何重写[]运算符的示例。 因此,如果[]在自定义类中未提供访问函数,则继承的基本方法将在其他字典上运行吗? 我尝试了以下代码段来测试我对Python继承的理解: class myDict(dict): def __init__(self): self._dict = {} def add(self, id, val): self._dict[id] = val md = …
113 python  dictionary 

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.