试图获取dict项时发生Python错误



python3中的dict看起来像这个

{
'id': '435633',
'mysection': [
{
'myitem':
{
'myitem' : 'testdata'
}
}
]
}

我正试图像这个一样打印myitem的值

print(mydict['mysection']['myItem']['myitem'])

但我明白错误。。。

TypeError: list indices must be integers or slices, not builtin_function_or_method

我哪里错了?

mydict['mysection']是一个列表,而不是dict

print(mydict['mysection'][0]['myitem']['myitem'])

输出:

testdata

mydict['mysection']是列表[{'myitem': {'myitem' : 'testdata'}}]

第一项mydict['mysection'][0]是一本包含myitem的词典,因此

print(mydict['mysection'][0]['myItem']['myitem'])

将起作用。

然而,你可能想循环,以防你最终得到多个项目(甚至没有项目(

您可以使用循环打印所有dictionary对象。

for singleItem in mydict['mysection']:
print(singleItem['myitem']['myitem'])

最新更新