每當我刪除python中的部分字典時,都會收到此錯誤。 早期我有Python中的鍵錯誤4
del the_dict[1]
再後來,當我通過字典跑我立刻得到錯誤
test_self = the_dict[element_x]
KeyError異常:4
沒有人有任何的想法是什麼錯誤。一切都從字典中正確刪除,但當我回去搜索它時,我得到這個錯誤。
每當我刪除python中的部分字典時,都會收到此錯誤。 早期我有Python中的鍵錯誤4
del the_dict[1]
再後來,當我通過字典跑我立刻得到錯誤
test_self = the_dict[element_x]
KeyError異常:4
沒有人有任何的想法是什麼錯誤。一切都從字典中正確刪除,但當我回去搜索它時,我得到這個錯誤。
看來你是錯誤地試圖訪問索引上的字典元素。你不能那樣做。您需要訪問密鑰上的字典值。由於字典沒有排序。
E.g: -
>>> 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
Everything is properly deleted from the dictionary, but when I go back to search through it
當然你不能得到鍵的值,你已經刪除。那會給你KeyError
。你爲什麼要這樣做?我的意思是,爲什麼你想訪問你知道不存在的東西?
或者,您可以使用in
運營商來檢查你的字典鍵的存在: -
>>> my_dict = {1:2 , 3:4}
>>> 4 in my_dict
False
>>> 1 in my_dict
True
顯示最小,但完整的程序,證明了你的問題。 – melpomene
請注意,'KeyError:4'並不意味着錯誤號碼4,而是你正在尋找一個值爲'4'的字典中的一個鍵,但它不存在。這有助於解釋信息嗎? –
字典中的元素不在索引上訪問,而是在鍵上訪問。值「1」是你的鑰匙,或者,你正在使用它作爲索引。 –