我有一本字典
title_data = {'1':['City','State','Town']}
我想获得 State 值,所以我使用title_data['1']._getitem_(1)
并得到一个 keyerror,即使我检查过并且该键在字典中。
我有一本字典
title_data = {'1':['City','State','Town']}
我想获得 State 值,所以我使用title_data['1']._getitem_(1)
并得到一个 keyerror,即使我检查过并且该键在字典中。
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)
或类似的事情。
如果你执行:
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]