Skip to main content
 首页 » 编程设计

python之扁平化字典字典

2025年05月04日15Leo_wl

如何在 Python 中展平字典,并将它们放入列表中?例如,假设我有以下字典:

data = { id1 : {x: 1, y: 2, z: 3}, id2 : {x: 4, y: 5, z: 6}} 

如何获得:

[{id: id1, x: 1, y: 2, z: 3}, {id: id2, x: 4, y: 5, z: 6}] 

请您参考如下方法:

使用 python 3.5 及更高版本

>>> data = { 'id1' : {'x': 1, 'y': 2, 'z': 3}, 'id2' : {'x': 4, 'y': 5, 'z': 6}} 
>>> [{**v, 'id':k} for k,v in data.items()] 
[{'x': 1, 'y': 2, 'z': 3, 'id': 'id1'}, {'x': 4, 'y': 5, 'z': 6, 'id': 'id2'}] 

在较旧的 python 版本上

>>> [dict(v, id=k) for k,v in data.iteritems()] 
[{'x': 1, 'y': 2, 'z': 3, 'id': 'id1'}, {'x': 4, 'y': 5, 'z': 6, 'id': 'id2'}] 
>>>