我有一个dictionary:键是字符串,值是整数.
例:
stats = {'a':1000, 'b':3000, 'c': 100}
Run Code Online (Sandbox Code Playgroud)
我想得到'b'一个答案,因为它是具有更高价值的关键.
我使用具有反向键值元组的中间列表执行以下操作:
inverse = [(value, key) for key, value in stats.items()]
print max(inverse)[1]
Run Code Online (Sandbox Code Playgroud)
这是一个更好(或更优雅)的方法吗?
dict.items()和之间是否有任何适用的差异dict.iteritems()?
从Python文档:
dict.items():返回字典的(键,值)对列表的副本.
dict.iteritems():在字典(键,值)对上返回一个迭代器.
如果我运行下面的代码,每个似乎都返回对同一对象的引用.我缺少哪些微妙的差异?
#!/usr/bin/python
d={1:'one',2:'two',3:'three'}
print 'd.items():'
for k,v in d.items():
if d[k] is v: print '\tthey are the same object'
else: print '\tthey are different'
print 'd.iteritems():'
for k,v in d.iteritems():
if d[k] is v: print '\tthey are the same object'
else: print '\tthey are different'
Run Code Online (Sandbox Code Playgroud)
输出:
d.items():
they are the same object
they are the same object
they are the same object
d.iteritems():
they are the same …Run Code Online (Sandbox Code Playgroud)