【发布时间】:2017-10-26 07:52:48
【问题描述】:
我有一个 Python 字典,我正在尝试访问其中的元素,
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,它应该给我输出running
我正在使用的命令,data["InstanceState"]["Name"]
但它给出了错误,
TypeError: list indices must be integers, not str
【问题讨论】:
-
data 不是
dict,而是list,正如抛出的异常向您展示的那样(聆听异常可以让您在大多数情况下快速了解正在发生的事情) .如果您删除外括号,或访问字典列表(长度为 1)中的 dict 项,它应该可以正常工作。
标签: python list dictionary indexing