【发布时间】:2017-08-23 08:04:08
【问题描述】:
我在 python 方面遇到了一些新手问题,尽管我在网上看到了所有建议,但我无法访问我正在尝试访问的列出的字典中的值。
这是 API 返回的数据:
OrderedDict([(u'totalSize', 1), (u'done', True), (u'records', [OrderedDict([(u'attributes', OrderedDict([(u'type', u'Contact'), (u'url', u'/services/data/v29.0/sobjects/Contact/00346000004eV89AAE')])), (u'Name', u'This is my name')])])])
这是我最近的尝试:
dict['records']['Name']
print(dict['records']['Name'])
TypeError: list indices must be integers, not str
任何帮助将不胜感激
【问题讨论】:
-
dict['records']是有序字典的 list,正如错误消息告诉您的那样。此外,dict对字典来说是个坏名字,因为它会影响内置字典。 -
我认为您期望字典是嵌套的,但正如您从运行
type(dict['records'])中看到的那样,您实际上创建了一个子列表,而不是字典。此外,最好不要使用 dict 作为字典的名称,因为这也是一个 python 类。它可能会让人感到困惑。
标签: python-2.7