我有一個字典串列,如下所示:
dic = [
{'id': 'Team1', 'name': 'Team One', 'description': 'This is team 1', 'type': 'team'},
{'id': 'Team2', 'name': 'Team Two', 'description': 'This is team 2', 'type': 'team'},
{'id': 'Team3', 'name': 'Team Three', 'description': 'This is team 3', 'type': 'team'}
]
我想創建一個包含所有id值和name值的字典,因此輸出將如下所示:
{'Team1': 'Team One', 'Team2': 'Team Two', 'Team3': 'Team Three'}
實作這一目標的最佳pythonic方法是什么?
謝謝
uj5u.com熱心網友回復:
使用operator.itemgetter:
from operator import itemgetter
out = dict(map(itemgetter('id', 'name'), dic))
輸出:{'Team1': 'Team One', 'Team2': 'Team Two', 'Team3': 'Team Three'}
使用的輸入:
dic = [{'id': 'Team1', 'name': 'Team One', 'description': 'This is team 1', 'type': 'team'},
{'id': 'Team2', 'name': 'Team Two', 'description': 'This is team 2', 'type': 'team'},
{'id': 'Team3', 'name': 'Team Three', 'description': 'This is team 3', 'type': 'team'}]
uj5u.com熱心網友回復:
您可以使用 dict 理解:
dcts = [ {'id': 'Team1', 'name': 'Team One', 'description': 'This is team 1', 'type': 'team'}, {'id': 'Team2', 'name': 'Team Two', 'description': 'This is team 2', 'type': 'team'}, {'id': 'Team3', 'name': 'Team Three', 'description': 'This is team 3', 'type': 'team'} ]
output = {dct['id']: dct['name'] for dct in dcts}
print(output) # {'Team1': 'Team One', 'Team2': 'Team Two', 'Team3': 'Team Three'}
uj5u.com熱心網友回復:
dictt = [ {'id': 'Team1', 'name': 'Team One', 'description': 'This is team 1', 'type': 'team'}, {'id': 'Team2', 'name': 'Team Two', 'description': 'This is team 2', 'type': 'team'}, {'id': 'Team3', 'name': 'Team Three', 'description': 'This is team 3', 'type': 'team'} ]
new={}
for a in dictt:
new[a['id']]=a['name']
print (new)
#{'Team1': 'Team One', 'Team2': 'Team Two', 'Team3': 'Team Three'}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/475782.html
