我在口述里有一段口述:
{
'123456789': {u'PhoneOwner': u'Bob', 'Frequency': 0},
'98765431': {u'PhoneOwner': u'Sarah', 'Frequency': 0},
}
这样做的目的是扫描一个由数字组成的呼叫列表,并与dict进行比较,从而在每次找到匹配项时增加频率。在
运行脚本时:
^{pr2}$我得到错误:
KeyError: '18667209918'
(其中18667209918是当前正在搜索的号码)
但当我打印出这段话,只要搜索这个数字,我就能立刻找到它。 有什么想法吗?在
您正在尝试搜索一个整数键:
但是,你的字典是用你的电话号码作为字符串来定义的。在
^{pr2}$因此,带有integer
123456789
的密钥不存在。在但是你在字典中使用的是一个整数键。在
我认为您仍然可以从异常块中的语句中获得}。但是您首先遇到了
KeyError
。从您的语句phoneNumberDictionary[int(line)]['Frequency'] = 1
中,python假定一个键值与您所传递的键一起存在,并且它有一个dictionary
,其中一个是{KeyError
异常,因为您没有匹配18667209918
的键因此正确初始化外部字典的键值对。在
使用整数作为键:
你有字符串作为键,但你需要整数。在
相关问题 更多 >
编程相关推荐