每当我删除python中的部分字典时,我都会收到此错误。 早在我有
del the_dict[1]
然后当我浏览字典时,我立即得到错误
test_self = the_dict[element_x]
KeyError:4
有没有人知道那个错误是什么。一切都从字典中正确删除,但当我回去搜索它时,我收到了这个错误。
答案 0 :(得分:7)
您似乎错误地尝试访问索引上的字典元素。你不能这样做。您需要访问密钥上的dict值。因为字典没有订购。
例如: -
>>> my_dict = {1:2, 3:4}
>>> my_dict
{1: 2, 3: 4}
>>>
>>> del my_dict[0] # try to delete `key: 1`
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
del my_dict[0]
KeyError: 0
>>> del my_dict[1] # Access by key value.
>>> my_dict # dict after deleting key
{3: 4}
>>> my_dict[1] # Trying to access deleted key.
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
my_dict[1]
KeyError: 1
从词典中删除所有内容,但是当我回去时 搜索它
你当然无法获得密钥的价值,你已经删除了。这会给你KeyError
。你为什么要做那样的事情?我的意思是,为什么你想要访问你知道不存在的东西?
或者,您可以使用in
运算符检查字典中是否存在密钥: -
>>> my_dict = {1:2 , 3:4}
>>> 4 in my_dict
False
>>> 1 in my_dict
True