![](/img/trans.png)
[英]How do I turn a nested dict of lists (with dicts) into a single list of dicts?
[英]turn tuple of dicts into single dict
我有數據:
({'name': 'bob', 'sex': 'male'}, {'name': 'sally', 'sex': 'female'})
我希望有
{'bob': 'male', 'sally': 'female'}
什么是快速,簡便的方法? 數據始終是具有相同鍵/值對的字典的n個長度的元組。
您使用dict理解:
{d['name']: d['sex'] for d in input_structure}
這將產生一個字典,其中的鍵和值取自輸入詞典中的兩個鍵。
如果您使用的是Python 2.6或更早版本,則必須使用生成器表達式調用dict()
來代替:
dict((d['name'], d['sex']) for d in input_structure)
演示:
>>> sample = ({'name': 'bob', 'sex': 'male'}, {'name': 'sally', 'sex': 'female'})
>>> {d['name']: d['sex'] for d in sample}
{'bob': 'male', 'sally': 'female'}
>>> dict((d['name'], d['sex']) for d in sample)
{'bob': 'male', 'sally': 'female'}
x = ({'name': 'bob', 'sex': 'male'}, {'name': 'sally', 'sex': 'female'})
print {y['name']:y['sex'] for y in x}
>> {'bob': 'male', 'sally': 'female'}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.