我有一个 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'}}
