Skip to main content
 首页 » 编程设计

python之将字典列表转换为字典

2025年05月04日8xiaohuochai

我有一个 Python 字典列表

[ 
{'id':'1', 'name': 'a', 'year': '1990'}, 
{'id':'2', 'name': 'b', 'year': '1991'}, 
{'id':'3', 'name': 'c', 'year': '1992'}, 
{'id':'4', 'name': 'd', 'year': '1993'}, 
] 

我想把这个列表变成字典的字典,键是 name 的值。请注意,列表中的不同项目具有不同的 name 值。

{ 
'a': {'id':'1', 'year': '1990'}, 
'b': {'id':'2', 'year': '1990'}, 
'c': {'id':'3', 'year': '1990'}, 
'd': {'id':'4', 'year': '1990'} 
} 

实现此目标的最佳方法是什么?谢谢。

这类似于 Python - create dictionary from list of dictionaries , 但不同。

请您参考如下方法:

您也可以使用 Dictionary Comprehension 实现此目的.

data = [ 
        {'id':'1', 'name': 'a', 'year': '1990'}, 
        {'id':'2', 'name': 'b', 'year': '1991'}, 
        {'id':'3', 'name': 'c', 'year': '1992'}, 
        {'id':'4', 'name': 'd', 'year': '1993'}, 
       ] 
 
print {each.pop('name'): each for each in data}   

结果:-

{'a': {'year': '1990', 'id': '1'},  
 'c': {'year': '1992', 'id': '3'},  
 'b': {'year': '1991', 'id': '2'},  
 'd': {'year': '1993', 'id': '4'}}