我有一个嵌套的字典:
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
答案 0 :(得分:1)
您可以借助values()
方法来访问字典中的值:
[i['age'] for i in d.values()]
# ['19', '25', '43', '33']
答案 1 :(得分:0)
>>> [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']
。