Python中的关键错误4

时间:2012-11-24 18:48:00

标签: python dictionary key

每当我删除python中的部分字典时,我都会收到此错误。 早在我有

del the_dict[1]

然后当我浏览字典时,我立即得到错误

test_self = the_dict[element_x]

KeyError:4

有没有人知道那个错误是什么。一切都从字典中正确删除,但当我回去搜索它时,我收到了这个错误。

1 个答案:

答案 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