Questions tagged «dictionary»

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

11
如何避免“ RuntimeError:字典在迭代过程中更改大小”错误?
我检查了所有其他问题,并发现了相同的错误,但没有找到有帮助的解决方案= / 我有一个列表字典: d = {'a': [1], 'b': [1, 2], 'c': [], 'd':[]} 其中某些值为空。在创建这些列表的最后,我想在返回字典之前删除这些空列表。当前,我正在尝试执行以下操作: for i in d: if not d[i]: d.pop(i) 但是,这给了我运行时错误。我知道您无法在字典中进行迭代时添加/删除字典中的元素...那么解决这个问题的方法是什么?
257 python  list  dictionary  loops 

24
.NET词典中的重复键?
.NET基类库中是否有允许使用重复键的字典类?我发现的唯一解决方案是创建一个类,例如: Dictionary<string, List<object>> 但这实际上使人恼火。在Java中,我相信MultiMap可以完成此任务,但是无法在.NET中找到类似物。
256 c#  .net  dictionary  multimap 

12
快速从字典键数组
尝试快速使用字典中键的字符串填充数组。 var componentArray: [String] let dict = NSDictionary(contentsOfFile: NSBundle.mainBundle().pathForResource("Components", ofType: "plist")!) componentArray = dict.allKeys 这将返回错误:'AnyObject'与字符串不同 也试过了 componentArray = dict.allKeys as String 但得到:'String'不能转换为[String]
256 ios  arrays  xcode  dictionary  swift 

10
具有过期密钥的基于Java时间的地图/缓存[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 2年前关闭。 改善这个问题 您是否知道在给定超时后会自动清除条目的Java Map或类似标准数据存储?这意味着老化,旧的过期条目会自动“老化”。 最好在可通过Maven访问的开源库中? 我知道自己实现该功能的方法,并且过去已经做过几次,所以我不是在这方面寻求建议,而是寻求指向良好参考实现的指针。 像WeakHashMap这样的基于WeakReference的解决方案不是一个选择,因为我的密钥很可能是非interintern字符串,并且我希望可配置的超时时间不依赖于垃圾回收器。 我也不想依靠Ehcache,因为它需要外部配置文件。我正在寻找仅代码解决方案。
253 java  caching  dictionary 

10
有什么更有效的方法:Dictionary TryGetValue或ContainsKey + Item?
从MSDN在Dictionary.TryGetValue方法上的条目: 此方法结合了ContainsKey方法和Item属性的功能。 如果未找到键,则value参数将为值类型TValue获取适当的默认值;否则,值为0。例如,对于整数类型,0(零),对于布尔类型,false(假),对于引用类型,null。 如果您的代码经常尝试访问不在字典中的键,请使用TryGetValue方法。使用此方法比捕获Item属性引发的KeyNotFoundException更有效。 此方法接近O(1)操作。 从描述中,尚不清楚它是否比调用ContainsKey然后进行查找更有效或更方便。TryGetValue只是先执行ContainsKey然后再实现Item 的实现,还是实际上比通过一次查找更有效? 换句话说,什么是更有效的(即哪个执行的查询更少): Dictionary<int,int> dict; //...// int ival; if(dict.ContainsKey(ikey)) { ival = dict[ikey]; } else { ival = default(int); } 要么 Dictionary<int,int> dict; //...// int ival; dict.TryGetValue(ikey, out ival); 注意:我不是在寻找基准!


6
如何检查字典中是否存在值(Python)
我在python中有以下字典: d = {'1': 'one', '3': 'three', '2': 'two', '5': 'five', '4': 'four'} 我需要一种方法来查找此字典中是否存在诸如“一个”或“两个”的值。 例如,如果我想知道索引“ 1”是否存在,我只需要键入: "1" in d 然后python会告诉我这是对还是错,但是我需要做同样的事情,只是要找到一个值是否存在。
251 python  dictionary  find 


17
如何从std :: map检索所有键(或值)并将其放入向量中?
这是我出现的可能方法之一: struct RetrieveKey { template <typename T> typename T::first_type operator()(T keyValuePair) const { return keyValuePair.first; } }; map<int, int> m; vector<int> keys; // Retrieve all keys transform(m.begin(), m.end(), back_inserter(keys), RetrieveKey()); // Dump all keys copy(keys.begin(), keys.end(), ostream_iterator<int>(cout, "\n")); 当然,我们还可以通过定义另一个函子RetrieveValues从映射中检索所有值。 还有其他方法可以轻松实现这一目标吗?(我一直想知道为什么std :: map不包含成员函数供我们这样做。)
246 c++  dictionary  stl  stdmap 

25
比较两个字典并检查多少对(键,值)相等
我有两个字典,为简单起见,我将采用以下两个: >>> x = dict(a=1, b=2) >>> y = dict(a=2, b=2) 现在,我想比较中的每一key, value对是否x具有相同的对应值y。所以我这样写: >>> for x_values, y_values in zip(x.iteritems(), y.iteritems()): if x_values == y_values: print 'Ok', x_values, y_values else: print 'Not', x_values, y_values 而且它有效,因为tuple返回了a ,然后比较了相等性。 我的问题: 这样对吗?有更好的方法吗?最好不要提速,我是在讲代码优雅。 更新:我忘了提到我必须检查多少key, value对是相等的。

7
映射python字典中的值
给定一个字典,{ k1: v1, k2: v2 ... }我想{ k1: f(v1), k2: f(v2) ... }提供一个函数f。 有没有这样的内置功能?还是我必须做 dict([(k, f(v)) for (k, v) in my_dictionary.iteritems()]) 理想情况下,我只会写 my_dictionary.map_values(f) 要么 my_dictionary.mutate_values_with(f) 也就是说,对原始词典进行了突变还是创建副本对我来说都没有关系。

3
通用字典不区分大小写的访问
我有一个使用托管dll的应用程序。这些dll之一返回通用字典: Dictionary<string, int> MyDictionary; 字典包含大小写键。 另一方面,我得到了潜在键(字符串)的列表,但是我不能保证这种情况。我试图使用键在字典中获取值。但是当然,由于我的案例不匹配,因此以下操作将失败: bool Success = MyDictionary.TryGetValue( MyIndex, out TheValue ); 我希望TryGetValue具有Mcase doc中提到的忽略大小写标志,但这似乎对通用词典无效。 有没有一种方法可以忽略字典大小写而获得该词典的值?是否有比使用适当的StringComparer.OrdinalIgnoreCase参数创建字典的新副本更好的解决方法?
242 c#  generics  dictionary 


5
如何将字典转储到json文件?
我有这样的命令: sample = {'ObjectInterpolator': 1629, 'PointInterpolator': 1675, 'RectangleInterpolator': 2042} 我不知道如何将字典转储到json文件,如下所示: { "name": "interpolator", "children": [ {"name": "ObjectInterpolator", "size": 1629}, {"name": "PointInterpolator", "size": 1675}, {"name": "RectangleInterpolator", "size": 2042} ] } 有python方式可以做到这一点吗? 您可能会猜到我想生成一个d3树形图。
239 python  json  dictionary 

4
如何用Java创建字典?[关闭]
在这里很难说出要问什么。这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,因此不能以当前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 7年前关闭。 我正在尝试实现字典(如实体书中那样)。我列出了单词及其含义。 Java提供了什么数据结构/类型来存储单词及其含义的列表作为键/值对。 在给定密钥的情况下,如何找到并返回值?

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.