Python 有没有更好的方法来创建嵌套字典的值列表?
我做了一本嵌套字典Python 有没有更好的方法来创建嵌套字典的值列表?,python,dictionary,Python,Dictionary,我做了一本嵌套字典 d = { 'first':{ 'key': 'A', 'val': 1 }, 'second':{ 'key': 'A', 'val': 2 }, 'third':{ 'key': 'B', 'val': 5 }, 'fourth':{ 'key': 'B', 'val': 7 } }
d = {
'first':{
'key': 'A',
'val': 1
},
'second':{
'key': 'A',
'val': 2
},
'third':{
'key': 'B',
'val': 5
},
'fourth':{
'key': 'B',
'val': 7
}
}
现在假设我想创建一个嵌套字典的值列表,其中key为“key”。
我的意思是,我想要一份这样的清单:
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']
但是有更干净的东西吗?你可以使用列表
print([v['key'] for v in d.values()])
列出对救援的理解
[d[x]['key'] for x in d]
你可以这样写:
keys_list = [record['key'] for record in d.values()]
它将获得您在输出中提到的值。您可以使用以下映射函数执行此操作:
print(list(map(lambda x:x['key'], d.values())))
这回答了你的问题吗?