0

我有一本字典

title_data = {'1':['City','State','Town']}

我想获得 State 值,所以我使用title_data['1']._getitem_(1)并得到一个 keyerror,即使我检查过并且该键在字典中。

4

2 回答 2

0

title_data['1']已经在字典中为您提供了“1”的值:一个列表。使用 获取第二个元素title_data['1'][1]

>>> title_data = {'1':['City','State','Town']}
>>> title_data['1'][1]
'State'

它是拼写的__getitem__(两边都有双下划线;_getitem_会给你AttributeError)。你可能永远不需要使用它(这就是下划线的用途),但如果你这样做,它会完美地工作:

>>> title_data['1'].__getitem__(1)
'State'

我不知道你是怎么得到的KeyError;也许你做过title_data[1].__getitem__(1)或类似的事情。

于 2013-07-03T21:58:47.017 回答
0

如果你执行:

title_data = {'1':['City','State','Town']}
title_data['1']._getitem_(1)

在 python 2.7 你得到一个AttributeError因为返回的列表title_data['1']没有方法_getitem_

您缺少下划线__getitem__()::

title_data = {'1':['City','State','Town']}
title_data['1'].__getitem__(1)

工作,当然更常用的:

title_data = {'1':['City','State','Town']}
title_data['1'][1]
于 2013-08-10T07:43:06.427 回答