将键更改为其他字典中相同键的值

时间:2015-11-03 16:40:39

标签: python python-3.x dictionary

我正在寻找以下内容,但我不会得到它。我已经尝试过交换键值对,但这不起作用。

我想要获得的东西,考虑2个词典:

dict1 = {'a':1, 'b':20, 'c':100}
dict2 = {'a':'apple', 'b':'banana', 'c':'citrus'}

我正在寻找一本新词典:

dict3 = {'apple':1, 'banana':20, 'citrus':100}

有人可以帮我或给我一些提示吗? (两个词典都非常大,所以首先我需要对其进行编程,使其在dict2中查找正确的键 - 这比dict1大,而且与dict1的顺序不同。)

1 个答案:

答案 0 :(得分:2)

使用iteritems()迭代字典的键和值。

for key, value in dict2.iteritems():
    dict3[value] = dict1[key]

对于Python 3.x,iteritems()已被替换为简单的items(),它返回由dict支持的类似集合的视图,如iteritems(),但更好。这也在2.7 viewitems()中可用。操作items()将适用于2和3,但是在2中它将返回字典的(key, value)对列表,这不会反映在{之后发生的字典的更改{1}}致电。如果您想要3.x中的2.x行为,可以调用items()