首页 > 解决方案 > 访问嵌套字典中不同字典的相同键的所有值

问题描述

我有一个嵌套字典:

d = { 'wing': {'name': 'Ali', 'age': '19'}, 
    'scrumHalf': {'name': 'Bob', 'age': '25'},
    'flyHalf': {'name': 'Sam', 'age': '43'},
    'prop': {'name': 'rob', 'age': '33'}}

我想提取值age仅用于生成列表 [19, 25, 43, 33]

我想使用 for 循环来做到这一点,并且尽可能天真,因为我通常觉得这最容易理解。

我已经设法使用 for 循环打印所有键:

for i in d:
    print i
    for j in d[i]:
        print j

但是当我尝试编辑它以打印值时,我得到了错误 NameError: name 'value' is not defined。我如何才能'value'表示附加到键的值?

这是我编辑的版本

for i in d:
    print (i[value])
    for j in d[i]:
        print (j[value])

我正在使用 python 2.7

标签: pythondictionary

解决方案


您可以借助以下方法访问 dict 中的值values()

[i['age'] for i in d.values()]
# ['19', '25', '43', '33']

推荐阅读