ホームページ >バックエンド開発 >Python チュートリアル >Defaultdict と通常の辞書: いつ「defaultdict」を使用する必要がありますか?

Defaultdict と通常の辞書: いつ「defaultdict」を使用する必要がありますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-03 18:30:12617ブラウズ

Defaultdict vs. Regular Dictionary: When Should You Use a `defaultdict`?

Defaultdict と通常の辞書: 違いを理解する

Python の組み込み辞書は、キーと値のペアを格納する基本的なデータ構造です。ただし、defaultdict 型は、通常の辞書とは異なる独自の機能を提供します。

主な違い: KeyError 例外の抑制

辞書内に存在しないキーにアクセスするとき通常の辞書を使用すると、KeyError 例外が発生します。対照的に、defaultdict は、欠落しているキーのデフォルトのエントリを自動的に作成することで、このようなシナリオを適切に処理する方法を提供します。

デフォルト項目の作成

デフォルトのタイプを制御するにはアイテムを作成するには、defaultdict コンストラクターへの引数として「呼び出し可能」オブジェクトを指定します。たとえば、Python ドキュメントの 2 つの例は次のとおりです。

  • 最初の例では、defaultdict オブジェクトは呼び出し可能オブジェクトとして int を使用して初期化されるため、整数オブジェクト (0) がデフォルト項目として生成されます。
  • 2 番目の例では、defaultdict オブジェクトは呼び出し可能オブジェクトとして list を使用しており、デフォルトとして空のリストが生成されます。 items.

デフォルト項目作成の例:

次のコード スニペットを検討してください:

import collections

# Create a defaultdict with initial values set to 0
s = 'mississippi'
d = collections.defaultdict(int)
for char in s:
    d[char] += 1
print(d)  # Output: {'m': 1, 'i': 4, 's': 4, 'p': 2}

# Create a defaultdict with initial values as empty lists
colors = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = collections.defaultdict(list)
for color, count in colors:
    d[color].append(count)
print(d)  # Output: {'blue': [2, 4], 'red': [1], 'yellow': [1, 3]}

defaultdict の違いを理解することでおよび通常の辞書と同様に、defaultdict の機能を利用して、Python で欠落しているキーを効果的に処理できます。アプリケーション。

以上がDefaultdict と通常の辞書: いつ「defaultdict」を使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。