如何使用字典值作为另一个字典中的键名?

2024-04-26 06:35:28 发布

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

我有一张这样的单子:

[
    {
        'flight_id': 'f123',
        'pax': 234,
        'airline': 'Foo Airways'
    },
    {
        'flight_id': 'f124',
        'pax': 200,
        'airline': 'Bar Airways'
    }
]

我想从中动态构建一个新的数据结构,如下所示:

{
    'f123': {'pax': 234, 'airline': 'Foo Airways'},
    'f124': {'pax': 200, 'airline': 'Bar Airways'}
}

基本上,我需要一种方法将字典值转换为新字典中的键名。你知道吗

任何帮助都将不胜感激。你知道吗

谢谢。你知道吗


Tags: 方法id数据结构字典foobar动态单子
2条回答
>>> d = [
...     {
...         'flight_id': 'f123',
...         'pax': 234,
...         'airline': 'Foo Airways'
...     },
...     {
...         'flight_id': 'f124',
...         'pax': 200,
...         'airline': 'Bar Airways'
...     }
... ]
>>> itms = [x.pop('flight_id') for x in d]
>>> dict(zip(itms,d))
{'f124': {'pax': 200, 'airline': 'Bar Airways'}, 'f123': {'pax': 234, 'airline':
 'Foo Airways'}}

您可以使用列表:

flights = dict((f.pop('flight_id'), f) for f in flights)

这将取代以前的数据结构。你知道吗

Python2.7+具有dict理解:

flights = {f.pop('flight_id'): f for f in flights}

相关问题 更多 >