Python の辞書は、キーと値のペアを保存でき、高速な検索および挿入機能を備えた柔軟で強力なデータ構造です。ただし、ディクショナリのキーと値のペアに注意しないと、ディクショナリ キーが空になるという問題が発生する可能性があります。この問題により、コードがクラッシュしたり、予期しない結果が出力されたりすることがよくあります。
この記事では、Python の辞書キーが空のエラーを解決する 2 つの方法を紹介します。
方法 1: if ステートメントを使用して空の辞書キーを防ぐ
Python の辞書には重複したキーがあってはなりません。重複したキーが存在しないと、以前のキーと値のペアが上書きされます。辞書キーの値が空の場合、Python は追加の処理を行わずにそれを None 型として解釈します。 None はハッシュ化不可能な型なので、辞書キーとして使用できません。
したがって、コードを記述するときは、Null キーが表示され、コード内でエラーが発生する可能性を常に考慮する必要があります。解決策は、if ステートメントを使用して空のキーを特定し、それを除外することです。例:
my_dict = {'a': 1, 'b': None, 'c': 3} for key in my_dict.keys(): if key is not None: print(my_dict[key])
この例では、辞書内のキーが None の場合、if ステートメントはキーを除外し、空のキーを除外します。空の辞書です。キーが間違っています。
方法 2:defaultdict を使用して空の辞書キーを回避する
Python のコレクション モジュールには、defaultdict という名前の自動初期化辞書関数が用意されています。この関数は、存在しないキーにデフォルト値を自動的に割り当てるため、空の辞書キーの問題が回避されます。
defaultdict の使用は、通常の辞書を使用するのと同じくらい簡単です。
from collections import defaultdict # 创建一个使用int类型作为默认值的defaultdict my_dict = defaultdict(int) # 在空字典键上插入一个值 my_dict[None] = 1 # 输出字典 print(my_dict)
この例では、デフォルト値として int 型を使用する defaultdict を作成します。空の辞書キーを挿入すると、defaultdict はエラーを発生させる代わりに、デフォルト値の 0 を自動的に割り当てます。
結論
空の辞書キー エラーは Python でよくある問題ですが、この問題は if ステートメントまたはdefaultdict を使用して簡単に解決でき、コードがよりエレガントで堅牢になります。したがって、Python コードを作成するときは、null 辞書キーのエラーを防ぐための対策を常に念頭に置いてください。
以上が空の辞書キーが正しくありません: Python の辞書キー エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。