我有一个Python字典,如下所示:
{0: 'Initialised', 1: 'Processed', 3:'Finished'}
我有第二个词典,如下:
{0: 81, 1: 100, 3: 906}
我想要的是:
{'Initialised':81, 'Processed':100, 'Finished': 906}
最有效的方法是什么?
答案 0 :(得分:4)
做这样的事情
In [31]: t1 = {0: 'Initialised', 1: 'Processed', 3:'Finished'}
In [33]: t2 = {0: 81, 1: 100, 3: 906}
In [34]: {t1[key]: t2[key] for key in t1}
Out[34]: {'Finished': 906, 'Initialised': 81, 'Processed': 100}
没有字典理解:
t3 = {}
for key in t1:
t3[t1[key]] = t2[key]
答案 1 :(得分:3)
在第二个词典中处理没有钥匙。
{v: d2.get(k, None) for k, v in d1.items()}
# {'Finished': 906, 'Initialised': 81, 'Processed': 100}
答案 2 :(得分:2)
不是很简单吗?
使用字典理解的示例(可从Python 2.7开始提供) -
>>> d1 = {0: 'Initialised', 1: 'Processed', 3:'Finished'}
>>> d2 = {0: 81, 1: 100, 3: 906}
>>>
>>> d = {d1[k]:d2[k] for k in d1.keys()}
>>> d
{'Finished': 906, 'Processed': 100, 'Initialised': 81}