Python辞書で欠落しているキーを処理する

| | | | | | | | | | | | | | | | | | | |

#辞書を紹介するPythonコードと
#欠落値エラー


#辞書を初期化しています

d = { `a` 1 ` b` 2 }


#不足しているキーの値を表示しようとしています

print " `c`に関連付けられた値は次のとおりです:"

print (d [ `c` ])

エラー:

トレースバック(最後の最後の呼び出し):ファイル "46a9aac96614587f5b794e451a8f4f5f.py"、9行目、印刷中(d [`c`])KeyError:` c` 

In上記の例では、ディクショナリに「c」という名前のキーは実行時エラーを発生させませんでした。このような状況を回避し、特定のキーが欠落していることをユーザーに警告したり、その場所にデフォルトメッセージを送信したりするには、欠落しているキーを処理する方法がいくつかあります。

方法1:get()を使用する

get(key、def_val)メソッドは、キーを検証する必要がある場合に役立ちます。キーが存在する場合は、キーに関連付けられた値が出力されます。存在しない場合は、引数で渡されたdef_valueが返されます。

方法2:setdefault()を使用する

setdefault(key、def_value)はget()のように機能しますが、違いは、 keyが欠落するたびに、def_valueが関連付けられた新しいキーが作成されることです。キーが引数に渡されます。

上記の関数を実装するには、ここで Defaultdict "—これは、で定義されているコンテナです。 「コレクション」という名前のモジュール。引数として関数(デフォルトのファクトリ)を取ります。デフォルトはファクトリのデフォルトは「int」に設定されています。は、0 です。キーがない— defaultdictの場合、を返し、デフォルトデフォルトで表示されます。 get()またはsetdefault()よりも優先されます。

#defaultdictを示すPythonコード


#import"コレクション" defaultdictの場合

import コレクション


#デフォルトの宣言
#欠落しているキーのデフォルト値「Keynotfound」を設定します

defd = コレクション。 defaultdict( lambda `キーが見つかりません`


#値を初期化する

defd [ `a` ] = 1


#値を初期化する

defd [ `b` ] = 2


#値を出力

print " `a`に関連付けられている値は次のとおりです:" 、end = "")

print (defd [ ` a` ])


#'に関連付けられた値を出力c'

print "に関連付けられた値`c`は:" 、end = " ")

print (defd [ `c` ])

出力:

`a`に関連付けられた値は次のとおりです。1`c`に関連付けられた値は次のとおりです。キーが見つかりません

この記事は Manjeet Singh 。 Python.Engineeringとして貢献したい場合は、 Contributor.python.engineering を使用するか、記事を投稿して記事を書くこともできます。 @python.engineeringに貢献してください。 Python.Engineeringホームページに掲載されている私の記事を参照して、他のオタクを助けてください。

何か問題を見つけた場合、または上記のトピックに関する詳細情報を共有したい場合は、コメントを投稿してください。