我在一个字典中有一个字典:
{
'123456789': {u'PhoneOwner': u'Bob', 'Frequency': 0},
'98765431': {u'PhoneOwner': u'Sarah', 'Frequency': 0},
}
这个想法是扫描一个由号码调用的电话列表,并与字典进行比较,每次找到匹配项时都会增加频率。
当我运行脚本时:
try:
phoneNumberDictionary[int(line)]['Frequency'] += 1
except KeyError:
phoneNumberDictionary[int(line)]['Frequency'] = 1
我得到错误:
KeyError: '18667209918'
(其中18667209918为当前正在搜索的号码)
然而,当我打印字典并搜索那个数字时,我可以立即找到它。 有什么想法吗?
最佳答案
您正在尝试搜索一个整数键:
phoneNumberDictionary[int(line)]
但是,您的字典将您的电话号码定义为字符串。
'123456789'
因此,整数 123456789
的 key 不存在。
关于python - 字典中的值的字典 KeyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34180843/