繁体   English   中英

访问嵌套字典中不同字典的相同键的所有值

[英]Accesssing all values from same key for different dictionaries within nested dictionary

我有一个嵌套字典:

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

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

[i['age'] for i in d.values()]
# ['19', '25', '43', '33']
>>> [d.get(k).get('age') for k, v in d.items()]
['33', '25', '19', '43']

为了访问字典的值,您首先要遍历正确的键,即for i in d: 因此,为了访问 d 中键i的值,您需要执行d[i]这将为您提供值,例如{'name': 'rob', 'age': '33'}然后要访问所需的密钥,您必须再次从字典中访问,即d[i]['age']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM