首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >嵌套字典解析- Python 3

嵌套字典解析- Python 3
EN

Stack Overflow用户
提问于 2017-09-23 20:17:24
回答 1查看 1.5K关注 0票数 0

我有一本字典。我需要遍历父字典,直到找到嵌套的dict,其中包含一个指定的键和值对。我关心的关键和价值对是:

代码语言:javascript
复制
key=Key, value=Name

一旦通过找到这个Name标记找到了正确的嵌套dict,我就需要取出嵌套的dict value of key=Value

代码语言:javascript
复制
key=Value, value=pz-beanstalkd-asg-ec2

最终,我需要pz-beanstalkd-asg-ec2,它是我的EC2实例的Value Name标记。

下面的代码打印出我的字典..。

如何使用pz-beanstalkd-asg-ec2实现Python3?

代码语言:javascript
复制
print ('lenth of dict=' + str(len(instanceTagsDict['Tags'])))
    for x in range(0, len(instanceTagsDict['Tags'])):
        print('x=' + str(x))
        for key, value in instanceTagsDict['Tags'][x].items():
            print('key=' + key + ', value=' + value)


lenth of dict=5
x=0
key=Key, value=AWSService
key=ResourceId, value=i-0dd3a48d19fbc0aa7
key=ResourceType, value=instance
key=Value, value=ec2
x=1
key=Key, value=Application
key=ResourceId, value=i-0dd3a48d19fbc0aa7
key=ResourceType, value=instance
key=Value, value=myallocator
x=2
key=Key, value=Environment
key=ResourceId, value=i-0dd3a48d19fbc0aa7
key=ResourceType, value=instance
key=Value, value=production
x=3
key=Key, value=Name
key=ResourceId, value=i-0dd3a48d19fbc0aa7
key=ResourceType, value=instance
key=Value, value=pz-beanstalkd-asg-ec2
x=4
key=Key, value=aws:autoscaling:groupName
key=ResourceId, value=i-0dd3a48d19fbc0aa7
key=ResourceType, value=instance
key=Value, value=pz-beanstalkd-asg

我调用的函数是describe_tags,docs在这里:tags

返回类型为 dict

响应语法是

代码语言:javascript
复制
{
    'NextToken': 'string',
    'Tags': [
        {
            'Key': 'string',
            'ResourceId': 'string',
            'ResourceType': 'customer-gateway'|'dhcp-options'|'image'|'instance'|'internet-gateway'|'network-acl'|'network-interface'|'reserved-instances'|'route-table'|'snapshot'|'spot-instances-request'|'subnet'|'security-group'|'volume'|'vpc'|'vpn-connection'|'vpn-gateway',
            'Value': 'string'
        },
    ]
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-23 21:58:49

代码语言:javascript
复制
def findval(mykey, myval):
  for item in instanceTagsDict['Tags']:
    if mykey in item and item[mykey] == myval:
      print(item['Value'])

快动手!

代码语言:javascript
复制
>>> findval('Key', 'Name')
pz-beanstalkd-asg-ec2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46383906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档