将dict的元组转换为单个di

2024-04-26 06:13:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有数据:

({'name': 'bob', 'sex': 'male'}, {'name': 'sally', 'sex': 'female'})

我想要一个

{'bob': 'male', 'sally': 'female'}

什么是快速、简单的方法?数据总是具有相同键/值对的n个长度的dict元组。你知道吗


Tags: 数据方法namedictmalefemalesallybob
2条回答

你使用听写理解:

{d['name']: d['sex'] for d in input_structure}

这将生成一个字典,其中键和值取自输入字典中的两个键。你知道吗

如果您使用的是Python2.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'}

相关问题 更多 >