Python辞書で欠落しているキーを処理する
Pythonには、ディクショナリと呼ばれるコンテナが1つあります。辞書では、キーをその値にマップできます。辞書を使用すると、値に一定時間でアクセスできます。ただし、指定されたキーが存在しない場合、エラーが発生する可能性があります。
このセクションでは、これらの種類のエラーを処理する方法を説明します。欠落しているキーにアクセスしようとすると、次のようなエラーが返される場合があります。
サンプルコード
country_dict = {'India' : 'IN', 'Australia' : 'AU', 'Brazil' : 'BR'} print(country_dict['Australia']) print(country_dict['Canada']) # This will return error
出力
AU --------------------------------------------------------------------------- KeyErrorTraceback (most recent call last) <ipython-input-2-a91092e7ee85> in <module>() 2 3 print(country_dict['Australia']) ----> 4 print(country_dict['Canada'])# This will return error KeyError: 'Canada'
get()メソッドを使用してKeyErrorを処理する
getメソッドを使用してキーをチェックできます。このメソッドは2つのパラメーターを取ります。 1つ目はキーで、2つ目はデフォルト値です。キーが見つかると、そのキーに関連付けられている値が返されますが、キーが存在しない場合は、2番目の引数として渡されるデフォルト値が返されます。
サンプルコード
country_dict = {'India' : 'IN', 'Australia' : 'AU', 'Brazil' : 'BR'} print(country_dict.get('Australia', 'Not Found')) print(country_dict.get('Canada', 'Not Found'))
出力
AU Not Found
setdefault()メソッドを使用してKeyErrorを処理する
このsetdefault()メソッドは、get()メソッドに似ています。また、get()のように2つの引数を取ります。 1つ目はキーで、2つ目はデフォルト値です。この方法の唯一の違いは、キーが欠落している場合、デフォルト値で新しいキーが追加されることです。
サンプルコード
country_dict = {'India' : 'IN', 'Australia' : 'AU', 'Brazil' : 'BR'} country_dict.setdefault('Canada', 'Not Present') #Set a default value for Canada print(country_dict['Australia']) print(country_dict['Canada'])
出力
AU Not Present
defaultdictの使用
defaultdictはコンテナです。 Pythonのコレクションモジュールにあります。 defaultdictは、デフォルトのファクトリを引数として取ります。最初、デフォルトのファクトリは0(整数)に設定されています。キーが存在しない場合は、デフォルトのファクトリの値を返します。
メソッドを何度も指定する必要がないため、ディクショナリオブジェクトのメソッドが高速になります。
サンプルコード
import collections as col #set the default factory with the string 'key not present' country_dict = col.defaultdict(lambda: 'Key Not Present') country_dict['India'] = 'IN' country_dict['Australia'] = 'AU' country_dict['Brazil'] = 'BR' print(country_dict['Australia']) print(country_dict['Canada'])
出力
AU Key Not Present
-
Pythonでパターンを印刷する方法は?
Pythonのパターンは、ネストされたforループを使用して印刷できます。外側のループは行数を反復処理するために使用され、内側のループは列数を処理するために使用されます。印刷ステートメントは、要件に応じてさまざまなパターンを形成するように変更されます。 パターンには、星型、数字型、アルファベット型があります。パターンは、さまざまな形、三角形、ピラミッドなどにすることができます。 例 これらのパターンはすべて、これらの異なるパターンを形成する変更されたprintステートメントを含むforループを使用して印刷できます。 これらのパターンの印刷の基本的な考え方は同じですが、わずかな違いが
-
Python辞書
辞書は、Pythonで使用する主なマッピングタイプです。このオブジェクトは、Javaのマップに似ています。 Pythonでは、中括弧{}を使用して辞書リテラルを作成します。 、コロンを使用してキーを値から分離する: 、およびコンマを使用してキーと値のペアを区切る, 。 辞書の作成方法 datedict = { date: 13, month: January, year: 1970 } print(datedict) 出力: {date: 13, month: January, year: 1970} 辞書アイテムにアクセスする方法 角かっこ[]内のキー名を参照することで