[英]Python how to get a value from a complex dictionary?
在下面的 dict1 中,如果我不确定它在“IpPermissions”中的索引,我如何将 from_port 分配给“FromPort”的值?
对于下面的示例,我可以使用索引,但它并不总是索引 0。
from_port = dict1['IpPermissions'][0]['FromPort']
dict1 = {'Description': 'Some AWS security group', 'IpPermissions': [{'Cidr': '0.0.0.0/0', 'FromPort': '80', 'IpProtocol': 'TCP'}]}
您可以检查列表中的每个元素是否具有属性FromPort
。
dict1 = {'Description': 'Some AWS security group', 'IpPermissions': [{'Cidr': '0.0.0.0/0', 'FromPort': '80', 'IpProtocol': 'TCP'}]}
ip_permissions = dict1['IpPermissions']
for perm in ip_permissions:
if 'FromPort' in perm:
from_port = perm['FromPort']
注意:如果有多个带有'FromPort'
dict,这将无法处理这种情况。
这种方法将从包含“FromPort”键的数组中提取任何字典。
tmp = [d for d in dict1['IpPermissions'] if 'FromPort' in d]
from_port = tmp[0]['FromPort']
请记住,如果 FromPort 不存在(tmp 将为空),这将失败,并且与其他答案类似,如果您没有该保证,则不会解决多个条目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.