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 に答える