我有一本字典
title_data = {'1':['City','State','Town']}
我想得到State值,所以我使用title_data['1']._getitem_(1)
,得到一个keyerror,尽管我检查了,而且那个键在字典里。
title_data['1']
已经为您提供了字典中"1"的值:列表。使用CCD_ 3得到第二个元素。
>>> 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]