Questions tagged «dictionary»

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

19
ConcurrentHashMap和Collections.synchronizedMap(Map)有什么区别?
我有一个地图,该地图将同时被多个线程修改。 Java API中似乎有三种不同的同步Map实现: Hashtable Collections.synchronizedMap(Map) ConcurrentHashMap 据我了解,Hashtable是一个旧的实现(扩展了过时的Dictionary类),后来对其进行了修改以适合该Map接口。虽然它是同步的,但似乎存在严重的可伸缩性问题,因此不建议用于新项目。 但是其他两个呢?Collections.synchronizedMap(Map)和ConcurrentHashMaps 返回的Map之间有什么区别?哪一种适合哪种情况?

11
如何在JavaScript中进行关联数组/哈希
我需要使用JavaScript来存储一些统计信息,就像在C#中那样: Dictionary<string, int> statistics; statistics["Foo"] = 10; statistics["Goo"] = statistics["Goo"] + 1; statistics.Add("Zoo", 1); JavaScript中是否有Hashtable类似的东西Dictionary<TKey, TValue>? 如何以这种方式存储值?


30
将嵌套的Python字典转换为对象?
我正在寻找一种优雅的方式来获取数据,该数据使用具有一些嵌套的字典和列表的字典的属性访问(即javascript样式的对象语法)。 例如: >>> d = {'a': 1, 'b': {'c': 2}, 'd': ["hi", {'foo': "bar"}]} 应该以这种方式访问​​: >>> x = dict2obj(d) >>> x.a 1 >>> x.b.c 2 >>> x.d[1].foo bar 我认为,没有递归是不可能的,但是获得字典对象样式的一种好方法是什么?

15
collections.defaultdict如何工作?
我已经阅读了python文档中的示例,但仍然无法弄清楚此方法的含义。有人可以帮忙吗?这是python文档中的两个示例 >>> from collections import defaultdict >>> s = 'mississippi' >>> d = defaultdict(int) >>> for k in s: ... d[k] += 1 ... >>> d.items() [('i', 4), ('p', 2), ('s', 4), ('m', 1)] 和 >>> s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)] >>> d …

6
用值初始化C#字典的正确方法?
我正在C#文件中使用以下代码创建字典: private readonly Dictionary<string, XlFileFormat> FILE_TYPE_DICT = new Dictionary<string, XlFileFormat> { {"csv", XlFileFormat.xlCSV}, {"html", XlFileFormat.xlHtml} }; 下面有一条红线new,显示错误: 无法使用功能“集合初始化器”,因为它不是ISO-2 C#语言规范的一部分 谁能解释这是怎么回事? 编辑:好的,事实证明我正在使用.NET版本2。
513 c#  dictionary 



26
在C#中合并字典
Dictionary<T1,T2>在C#中合并2个或更多词典()的最佳方法是什么?(像LINQ这样的3.0功能很好)。 我正在考虑以下方法签名: public static Dictionary<TKey,TValue> Merge<TKey,TValue>(Dictionary<TKey,TValue>[] dictionaries); 要么 public static Dictionary<TKey,TValue> Merge<TKey,TValue>(IEnumerable<Dictionary<TKey,TValue>> dictionaries); 编辑:从Jare​​dPar和Jon Skeet得到了一个很酷的解决方案,但是我正在考虑处理重复键的东西。在发生冲突的情况下,只要保持一致,就可以将哪个值保存到字典中。
493 c#  dictionary  merge 

11
如果字典键不可用,则返回None
我需要一种方法来获取字典值(如果它的键存在),或者简单地返回None,如果它不存在。 但是,KeyError如果您搜索不存在的键,Python会引发异常。我知道我可以检查密钥,但是我正在寻找更明确的密钥。None如果密钥不存在,是否有办法返回?


4
是否在Python 3.6+中订购了字典?
与以前的版本不同,字典在Python 3.6中排序(至少在CPython实现下)。这似乎是一个重大更改,但只是文档中的一小段。它被描述为CPython实现细节而不是语言功能,但这也意味着将来可能会成为标准。 在保留元素顺序的同时,新的字典实现如何比旧的实现更好? 以下是文档中的文字: dict()现在使用PyPy率先提出的“紧凑”表示形式。与Python 3.5相比,新dict()的内存使用量减少了20%至25%。PEP 468(在函数中保留** kwarg的顺序。)由此实现。此新实现的顺序保留方面被认为是实现细节,因此不应依赖(将来可能会更改,但是希望在更改语言规范之前,先在几个发行版中使用该新dict实现该语言,为所有当前和将来的Python实现强制要求保留顺序的语义;这还有助于保留与仍旧有效的随机迭代顺序的旧版本语言(例如Python 3.5)的向后兼容性。(由INADA Naoki在发行27350。最初由Raymond Hettinger提出的想法。) 2017年12月更新:Python 3.7 保证dict保留插入顺序

9
实现Map并保持插入顺序的Java类?
我正在寻找具有键值关联的Java类,但不使用哈希。这是我目前正在做的事情: 将值添加到中Hashtable。 获取的迭代器Hashtable.entrySet()。 遍历所有值和: Map.Entry为迭代器获取一个。 Module根据该值创建类型的对象(自定义类)。 将类添加到JPanel。 显示面板。 这样做的问题是我无法控制获取值的顺序,因此无法按给定顺序显示值(没有对顺序进行硬编码)。 我会为此使用ArrayListor Vector,但是稍后在代码中,我需要获取Module给定Key 的对象,而使用ArrayListor 不能实现Vector。 有谁知道一个免费/开放源代码的Java类可以做到这一点,还是一种从添加值中获取值的方式Hashtable? 谢谢!

7
Python“扩展”字典
扩展词典与另一本词典的最佳方法是什么?例如: >>> a = { "a" : 1, "b" : 2 } >>> b = { "c" : 3, "d" : 4 } >>> a {'a': 1, 'b': 2} >>> b {'c': 3, 'd': 4} 我正在寻找任何操作来获得此避免for循环: { "a" : 1, "b" : 2, "c" : 3, "d" : 4 } …
462 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.