如何从python字典中的列表中提取键的所有实例?

时间:2017-05-02 15:31:27

标签: python list dictionary boto boto3

我有一个名为'available_volumes'的python字典。 该字典包含一个键'Volumes',在此键中包含'VolumeIds'列表。如何打印此列表中的每个'VolumeId?

以下是我的'available_volumes'数据的一些简化示例数据:

{'Volumes': 
  [
    {'VolumeId': 'vol-0fdfe004dgte6e8385d'},
    {'VolumeId': 'vol-0fdfe344d35te6e858f'},
    {'VolumeId': 'vol-0fwde024d4gte6e834g'}
  ]
}

如果我使用'available_volumes'字典并在其上运行以下内容:

myIds = available_volumes ['Volumes'][0]['VolumeId']

我可以得到第一个VolumeId,它位于索引0.但是,如何迭代并打印所有的VolumeIds?

感谢。

2 个答案:

答案 0 :(得分:4)

简单地遍历列表:

for vol in available_volumes['Volumes']:
    print(vol['VolumeId'])

答案 1 :(得分:2)

使用['Volumes']查找 VolumeId 词典列表。然后使用for循环遍历dicts列表。然后使用d['VolumeId']从内部dicts中提取实际值:

>>> available_volumes = {'Volumes': 
  [
    {'VolumeId': 'vol-0fdfe004dgte6e8385d'},
    {'VolumeId': 'vol-0fdfe344d35te6e858f'},
    {'VolumeId': 'vol-0fwde024d4gte6e834g'}
  ]
}
>>> for d in available_volumes['Volumes']:
        print(d['VolumeId'])


vol-0fdfe004dgte6e8385d
vol-0fdfe344d35te6e858f
vol-0fwde024d4gte6e834g