我有一本字典
title_data = {'1':['City','State','Town']}
我希望得到State值,所以我使用title_data['1']._getitem_(1)
并得到一个keyerror,即使我检查了那个密钥在字典中。
答案 0 :(得分: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)
或类似的事情。
答案 1 :(得分: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]