この Tips シリーズでは、#9 までに基本的なデータ構造を整理し、#10 以降は Python イディオム(Python 特有の慣用的な書き方)を紹介してきました。
今回は、実務で役立つ Python実践スキル の13回目として、collections モジュールを取り上げます。
Pythonの
dictやリストは非常に便利ですが、実務では「もう少し機能がほしい」と感じる場面があります。
- 辞書のキーが存在しないたびに
ifで初期化するのが面倒(例:カウント・グルーピング)- 要素の出現回数を数えるために自分でカウント処理を書いている
- 複数の設定辞書をうまく合成したい
- キューとして使いたいが、リストの先頭追加は遅い
こうした「標準の dict・リストでは一手間かかる」場面を、collections モジュールはすっきり解決してくれます。
すべて標準ライブラリなので、インストール不要です。
今回は実務でよく使う以下の機能を解説します。
- namedtuple(名前付きタプル)
- ChainMap(複数辞書の合成)
- OrderedDict(順序操作付き辞書)
- defaultdict(自動初期化辞書)
- Counter(頻度カウント)
- deque(両端キュー)
namedtuple(Tips #5)、defaultdict(Tips #3)、Counter(Tips #8)、deque(Tips #9)は以前ご紹介しましたが、今回は 実務での使いどころ を中心に改めて整理します。
続きを読む