Pythonでdefaultdictを使ったデフォルト値の設定

この記事では、Pythonの`collections`モジュールに含まれる`defaultdict`について詳しく解説します。具体的なコード例とその解説、応用例を含めています。

目次

defaultdictとは

Pythonの`defaultdict`は、標準の`dict`型に似たデータ構造ですが、キーが存在しない場合にデフォルト値を自動的に設定する点が特長です。これは、多くのプログラミングタスクで非常に便利です。

基本的な使い方

`defaultdict`は`collections`モジュール内にあります。使用する前にこのモジュールをインポートする必要があります。

from collections import defaultdict

初期化

`defaultdict`を初期化する際には、デフォルト値を生成する関数を引数として渡します。

d = defaultdict(int)
print(d["key"])  # 出力: 0

応用例

1. 単語の出現回数を数える

文章内で各単語が何回出現するかを数えます。

from collections import defaultdict

word_count = defaultdict(int)
sentence = "apple orange apple banana"

for word in sentence.split():
    word_count[word] += 1

print(word_count)

2. グルーピング

リスト内の要素を何らかのキーでグループ化します。

from collections import defaultdict

group = defaultdict(list)
elements = [("apple", "fruit"), ("carrot", "vegetable"), ("orange", "fruit")]

for key, value in elements:
    group[key].append(value)

print(group)

3. ネストされた辞書

複数階層にわたる辞書を扱いやすくします。

from collections import defaultdict

def nested_dict():
    return defaultdict(int)

d = defaultdict(nested_dict)
d["fruit"]["apple"] = 1
d["fruit"]["orange"] = 2
d["vegetable"]["carrot"] = 3

print(d)

まとめ

`defaultdict`は、通常の辞書型にない便利な特性を持っています。特に存在しないキーを扱う際の挙動が明示的であり、多くの場面で役立つでしょう。

コメント

コメントする

目次