首页 > 解决方案 > 在python中将多个字典转换为单个字典

问题描述

我有多个字典及其键和值,我想分配(将它们全部转移到一个新的空字典并保留所有键和值。注意:我检查的其他问题具有相同大小的字典

n = {}
x = {'six':6,'thirteen':13,'fifty five':55}
y = {'two': 2, 'four': 4, 'three': 3, 'one': 1, 'zero': 0,'ten': 10}
z = {'nine': 9, 'four': 4, 'three': 3, 'eleven': 11, 'zero': 0, 'seven':7}

标签: pythonpython-3.xdictionary

解决方案


ChainMap

对于许多用例,collections.ChainMap就足够了并且很高效(假设 Python 3.x):

from collections import ChainMap

n = ChainMap(x, y, z)

n['two']       # 2
n['thirteen']  # 13

如果您需要字典,只需调用dict对象ChainMap

d = dict(n)

字典解包

使用 Python 3.x ( PEP448 ),您可以在定义新字典时解压缩字典:

d = {**x, **y, **z}

相关:如何在一个表达式中合并两个字典?


推荐阅读