首页 > 解决方案 > 用列表的嵌套字典解析字典

问题描述

我正在尝试解析以下字典

{'IsTruncated': False,
    'MaxItems': '100',
    'ResourceRecordSets': [{'Name': 'test.com.',
        {'Name': '1.test.com.',
        'ResourceRecords': [{'Value': '10.0.0.1'}],
        {'Name': '2.test.com.',
        'ResourceRecords': [{'Value': '10.0.0.2'}],
}

我正在寻找的输出是:

1.test.com    10.0.0.1
2.test.com    10.0.0.2

我努力了:

for resource in response['ResourceRecordSets']:
    print("{}  {}".format(resource['Name'], resource['ResourceRecords'] ))

for resource in response['ResourceRecordSets']:
    print("{}  {}".format(resource['Name'], resource['ResourceRecords'][0] ))

有没有一种简单的方法来访问嵌套列表中的这个字典键/值?

标签: python

解决方案


假设您的字典应如下所示:

{'IsTruncated': False,
'MaxItems': '100',
'ResourceRecordSets': [
    {'Name': 'test.com.', 
    'ResourceRecords' : [{'Value' : '<mising ip addr>'}]},
    {'Name': '1.test.com.',
    'ResourceRecords': [{'Value': '10.0.0.1'}]},
    {'Name': '2.test.com.',
    'ResourceRecords': [{'Value': '10.0.0.2'}]},
    ]

尝试这个:

for resource in response['ResourceRecordSets']:
    print("{}  {}".format(resource['Name'], resource['ResourceRecords'][0]['Value']))

推荐阅读