7

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

del the_dict[1]

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

test_self = the_dict[element_x]

关键错误:4

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

4

1 回答 1

9

您似乎错误地尝试访问索引上的字典元素。你不能那样做。您需要访问键上的 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
于 2012-11-24T18:52:05.913 回答