相关疑难解决方法(0)

dict.items()和dict.iteritems()有什么区别?

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)

python dictionary python-2.x

673
推荐指数
6
解决办法
64万
查看次数

Python中的反向字典查找

通过了解字典中的值,有没有直接找到密钥的方法?

我能想到的就是:

key = [key for key, value in dict_obj.items() if value == 'value'][0]
Run Code Online (Sandbox Code Playgroud)

python dictionary

86
推荐指数
9
解决办法
10万
查看次数

Python:获取字典索引的关键字

可能重复:
反向字典查找 - 使用Python 进行字典的Python
反向映射

如何在字典中获取索引的键?

例如:

i = {'a': 0, 'b': 1, 'c': 2}
Run Code Online (Sandbox Code Playgroud)

所以,如果我想获得i [0]的关键,它将返回'a'

python dictionary

18
推荐指数
3
解决办法
12万
查看次数

如何*懒惰*迭代OrderedDict中键的反向顺序?

我想以OrderedDict相反的顺序迭代.

即颠倒顺序:

for k, v in my_ordered_dict.iteritems():
   # < do stuff >
Run Code Online (Sandbox Code Playgroud)

到目前为止,通过反转列表,我得到了一个非懒惰的版本:

for k, v in list(my_ordered_dict.iteritems())[::-1]:
   # < do stuff >
Run Code Online (Sandbox Code Playgroud)

任何想法如何使它更好?

python dictionary ordereddictionary

2
推荐指数
1
解决办法
3257
查看次数