ホームページ  >  記事  >  バックエンド開発  >  Pythonでのデフォルト値辞書の応用とdefaultdictの使い方

Pythonでのデフォルト値辞書の応用とdefaultdictの使い方

王林
王林転載
2023-04-23 11:52:071225ブラウズ

Python では、defaultdict は、辞書に存在しないキーのデフォルト値を自動的に設定できる特別なタイプの辞書です。このタイプの辞書は、コレクション モジュールで定義されます。より便利で使いやすい辞書を提供します。

1.defaultdict のインポート

最初に、defaultdict を含むコレクション モジュールをインポートする必要があります。これは、Python コードの先頭に次のコード行を追加することで実現できます:

from collections import defaultdict

2.defaultdict の作成

defaultdict の作成は、構文的には Python 辞書の作成と同じです。コンストラクターのパラメーターとして、defaultdict の型を使用するだけで済みます。たとえば、整数を格納するdefaultdictを作成したい場合は、次のコードを使用できます:

int_dict = defaultdict(int)

文字列をdefaultdictに格納したい場合は、次のコードを使用できます:

str_dict = defaultdict(str)

これら 2 つの場合 どちらの場合も、defaultdict コンストラクターに型を渡すことによって、新しい defaultdict インスタンスを定義します。このタイプは、defaultdict のすべてのキーに対応するデフォルト値に設定されます。

3.defaultdict の使用

defaultdict のキーにアクセスしようとしたときに、キーが存在しない場合は、コンストラクターに渡された型に対応するデフォルト値が自動的に設定されます。たとえば、以下のコードでは、defaultdict を使用して人の年齢を保存し、デフォルト値を 0 に設定します。

age_dict = defaultdict(int)
age_dict['alice'] = 25
age_dict['bob'] = 30
age_dict['charlie']
print(age_dict)

出力は {‘alice’: 25, ‘bob’: 30, となります。 ‘charlie’: 0}、‘charlie’ がデフォルトの辞書にない場合、デフォルト値 0 が自動的に埋められます。

この例では、デフォルトの辞書 ‘alice’ と ‘bob’ に 2 つのキーを追加し、辞書にない別のキー ‘charlie’ を直接クエリしました。 ‘charlie’ は辞書に存在しないため、defaultdict は、そのキーに対応する値を、コンストラクターで渡された対応する型のデフォルト値 (この場合は整数 0) に自動的に設定します。これは実際に期待された結果であることがわかります。

4.defaultdict デフォルト値の追加

defaultdict 関数にデフォルト値として関数を提供することで、デフォルト値を定義することもできます。この関数は、キーが辞書にない場合に呼び出され、必要なデフォルト値を返します。たとえば、次のコードを使用して、辞書からキーをデフォルト値として取得する関数を定義できます:

def return_key():
    return "unknown"

key_dict = defaultdict(return_key)
key_dict['apple'] = 'fruit'
print(key_dict['pear'])
print(key_dict['banana'])

出力は次のようになります:

unknown
unknown

この例では、単純に「unknown」を返す関数 return_key() を定義します。次に、デフォルトの辞書を作成し、この関数をデフォルト値として使用して定義します。キー「pear」と「banana」にアクセスしようとすると、デフォルト値「unknown」が返されます。しかし、辞書に「apple」というキーを追加すると、「fruit」という結果が得られました。

以上がPythonでのデフォルト値辞書の応用とdefaultdictの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。