Tag: 字典

什么是Python字典视图对象?

在Python 2.7中,我们得到了可用的字典视图方法 。 现在,我知道以下的利弊: dict.items() (和values , keys ):返回一个列表,所以你可以实际存储结果 dict.iteritems() (等):返回一个生成器,所以你可以遍历每一个生成的值。 什么是dict.viewitems() (和类似的)? 他们有什么好处? 它是如何工作的? 什么是一个观点呢? 我读到这个观点总是反映字典的变化。 但是从性能和记忆的angular度来看它是如何performance的呢? 什么是正面和反面?

地图和字典有什么区别?

Map和Dictionary什么区别? 我不是要求他们是如何在X或Y语言中定义的(这似乎是人们一般在这里问到的),我想知道它们在理论上有什么不同。 我知道一个Map是一个将键映射到值的对象。 不是一个Dictionary是一样的吗? 他们有什么区别?

初始化字典的首选语法是:curly brace literals {}或dict()函数?

我正在努力学习Python,并且正在密切关注通用编码标准。 这看起来像是一个毫无意义的挑剔问题,但是我正在努力把精力集中在我学习的最佳实践上,所以我不必忘记任何“坏”的习惯。 我看到两个常用的方法来初始化一个字典: a = { 'a': 'value', 'another': 'value', } b = dict( a='value', another='value', ) 哪个被认为是“更pythonic”? 你用哪个? 为什么?

如何在迭代时从HashMap中删除密钥?

我有HashMap称为testMap其中包含String, String 。 HashMap<String, String> testMap = new HashMap<String, String>(); 迭代映射时,如果value与指定的string匹配,我需要从映射中删除键。 即 for(Map.Entry<String, String> entry : testMap.entrySet()) { if(entry.getValue().equalsIgnoreCase("Sample")) { testMap.remove(entry.getKey()); } } testMap包含"Sample"但我无法从HashMap删除密钥。 反而得到错误: "Exception in thread "main" java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(Unknown Source) at java.util.HashMap$EntryIterator.next(Unknown Source) at java.util.HashMap$EntryIterator.next(Unknown Source)"

如何连接两个字典在Python中创build一个新的字典?

说我有三个词 d1={1:2,3:4} d2={5:6,7:9} d3={10:8,13:22} 我如何创build一个结合这三个字典的新d4 ? 即: d4={1:2,3:4,5:6,7:9,10:8,13:22}

python字典和默认值

假设connectionDetails是一个Python字典,那么重构代码的最好,最优雅,最“pythonic”的方式是这样的: if "host" in connectionDetails: host = connectionDetails["host"] else: host = someDefaultValue

如何总结字典中的所有值?

比方说,我有一个字典,其中的键映射到整数,如: d = {'key1': 1,'key2': 14,'key3': 47} 在这种情况下,是否有句法简约的方式来返回d -ie 62中的值的总和?

在Groovy中通过地图循环?

我有一个非常简单的任务,我试图在Groovy中做,但似乎无法得到它的工作。 我只是试图在groovy中通过一个地图对象循环,并打印出键和值,但是这个代码不起作用。 // A simple map def map = [ iPhone : 'iWebOS', Android: '2.3.3', Nokia : 'Symbian', Windows: 'WM8' ] // Print the values for (s in map) { println s + ": " + map[s] } 我试图让输出看起来像这样: iPhone: iWebOS Android: 2.3.3 Nokia: Symbian Windows: WM8 有人可以请详细说明如何做到这一点?

如何用列表中的键和Python中的空值初始化字典?

我想从这里得到: keys = [1,2,3] 对此: {1: None, 2: None, 3: None} 有没有pythonic的做法呢? 这是一个丑陋的做法: >>> keys = [1,2,3] >>> dict([(1,2)]) {1: 2} >>> dict(zip(keys, [None]*len(keys))) {1: None, 2: None, 3: None}

通过数字索引访问Dictionary.Keys键

我正在使用Dictionary<string, int> ,其中int是键的计数。 现在,我需要访问Dictionary中最后插入的Key,但是我不知道它的名字。 显而易见的尝试: int LastCount = mydict[mydict.keys[mydict.keys.Count]]; 不起作用,因为Dictionary.Keys不实现[] -indexer。 我只是想知道有没有类似的课程? 我想过使用堆栈,但只存储一个string。 我现在可以创build自己的结构,然后使用Stack<MyStruct> ,但是我想知道是否有另一种替代scheme,本质上是一个在Keys上实现[] -indexer的Dictionary?