我有一个Python dict,我试图访问它里面的元素
data = [{
u 'InstanceId': 'i-0729fd87c30489d12', u 'InstanceState': {
u 'Code': 16, u 'Name': 'running'
}, u 'AvailabilityZone': 'us-east-2a', u 'SystemStatus': {
u 'Status': 'ok', u 'Details': [{
u 'Status': 'passed', u 'Name': 'reachability'
}]
}, u 'InstanceStatus': {
u 'Status': 'ok', u 'Details': [{
u 'Status': 'passed', u 'Name': 'reachability'
}]
}
}]
Python版本:2.7
我想访问元素Name
,它应该是give me output running
我正在使用的命令,data["InstanceState"]["Name"]
但它给出了错误
TypeError: list indices must be integers, not str
您认为正在访问的词典实际上位于一个列表中。更具体地说,它是列表中的第一项
data
(是的,数据是一个列表)。你知道吗做
data[0]["InstanceState"]["Name"]
你不小心把字典放进了一个只有一个元素的列表里。你知道吗
你的代码现在可以工作了。只需拆下外方括号。 你在
data["InstanceStatus"]["Details"]
字典上犯了同样的错误。你知道吗相关问题 更多 >
编程相关推荐