有没有更好的方法来创建嵌套字典的值列表?

时间:2019-12-12 11:44:13

标签: python dictionary

我做了一个嵌套字典

d = {
    'first':{
        'key': 'A',
        'val': 1
    },
    'second':{
        'key': 'A',
        'val': 2
    },
    'third':{
        'key': 'B',
        'val': 5
    },
    'fourth':{
        'key': 'B',
        'val': 7
    }
}

现在假设我想创建一个嵌套字典的值列表,其键为“键”。 我的意思是,我要列出这样一种方式:

L = ['A', 'A', 'B', 'B']

我通过这样的for循环和value()设法做到了:

List = d.values()
L = []
for K in List:
    L.append(K['key'])
print(L)

输出:

['A', 'A', 'B', 'B']

但是那里有清洁的东西吗?

4 个答案:

答案 0 :(得分:4)

您可以只使用列表理解

print([v['key'] for v in d.values()])

答案 1 :(得分:3)

您可以这样写:

keys_list = [record['key'] for record in d.values()]

它将获得您在输出中提到的值。

答案 2 :(得分:2)

您可以使用以下地图功能来做到这一点:

print(list(map(lambda x:x['key'], d.values())))

答案 3 :(得分:1)

列出对救援的理解

[d[x]['key'] for x in d]