はじめに
Pythonのcollectionsモジュールに含まれるCounterクラスは、要素の出現回数をカウントする際に便利な機能を提供しています。その中でもCounter.fromkeys関数は、特定のキーの初期値をまとめて設定できる便利なメソッドです。本記事では、Python 3.11に対応したCounter.fromkeys関数の使い方や活用方法について詳しく解説します。
Counter.fromkeys関数とは?
Counter.fromkeys関数は、指定されたキーのリストに対して全て同じ初期値を設定し、新しいCounterオブジェクトを生成するためのメソッドです。辞書のdict.fromkeys関数に似ていますが、Counterオブジェクトとして扱われる点が特徴です。
Counter.fromkeys関数の基本構文
from collections import Counter
# 構文
Counter.fromkeys(iterable, value)
引数の説明
- iterable: キーとなる要素のリストやタプル
- value: 各キーに設定される初期値 (デフォルトはNone)
戻り値
- 初期化されたCounterオブジェクト
Counter.fromkeys関数の使用例
基本的な使い方の例を紹介します。
from collections import Counter
keys = ['a', 'b', 'c']
counter = Counter.fromkeys(keys, 0)
print(counter)
出力:
Counter({'a': 0, 'b': 0, 'c': 0})
Counter.fromkeys関数の応用例
初期値を1に設定し、後からカウントを追加する方法を紹介します。
from collections import Counter
keys = ['apple', 'banana', 'cherry']
counter = Counter.fromkeys(keys, 1)
# カウントを追加
counter['apple'] += 2
counter['banana'] += 3
print(counter)
出力:
Counter({'banana': 4, 'apple': 3, 'cherry': 1})
まとめ
Counter.fromkeys関数は、特定のキーに対して同じ初期値を割り当てる際に便利なメソッドです。データの初期化や頻度カウントの初期設定など、さまざまな場面で役立ちます。Python 3.11でも引き続き利用できる機能なので、ぜひ活用してみてください。