通过连接两个字典来创建Python听写器

2024-04-25 23:25:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本Python字典,就像这样:

{0: 'Initialised', 1: 'Processed', 3:'Finished'}

我还有第二本字典,像这样:

{0: 81, 1: 100, 3: 906}

我想要的是:

{'Initialised':81, 'Processed':100, 'Finished': 906}

最有效的方法是什么?你知道吗


Tags: 方法字典finishedprocessedinitialised
3条回答

处理第二个dict中缺少键的情况

{v: d2.get(k, None) for k, v in d1.items()}
# {'Finished': 906, 'Initialised': 81, 'Processed': 100}

做这样的事

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]

不是很简单吗?你知道吗

使用字典理解的示例(从Python2.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}

相关问题 更多 >