从词典列表中提取新词典

时间:2020-01-09 13:00:55

标签: python list dictionary

我有一个字典列表,我想创建一个新字典,其中第一个键'value'对应于列表中每个字典的'b'键的第二个值。新词典的第二个键'number'对应于列表中每个词典的'b'键的第三个(因此最后一个)值。

my_list = [
    {
        'a': (2.6, 0.08, 47.0, 1),
        'b': (5.7, 0.05, 1)
    },
    {
        'a': (2.6, 0.08, 47.0, 2),
        'b': (5.7, 0.06, 2)
    }
]

预期输出:

new_dic = {'value': (0.05, 0.06), number = (1, 2)}

1 个答案:

答案 0 :(得分:2)

您可以按如下方式使用理解:

new_dict = {}
new_dict['value'] = tuple(val['b'][1] for val in my_list)
new_dict['number'] = tuple(val['b'][2] for val in my_list)

请注意,您需要调用元组构造函数,因为仅(val['b'][2] for val in my_list)会返回生成器对象。