マイクロアドアドベントカレンダー三日目担当の記事です。 Pythonは単純でわかりやすいプログラミング言語のため、欲しいデータ構造を自ら実装してしまうことが良くありますが、標準ライブラリに目を通すと多くのデータ構造はすでに用意されている事が多いです。 今回は自戒を込めてPython3のcollectionsライブラリについて紹介します。 個人的に使えると感じた順番で紹介します。 Counter defaultdict OrderedDict ChainMap deque namedtuple Counter リストやイテレータからすべての値の出現回数をカウントします。 >>> from collections import Counter >>> Counter([1,1,2,3,4,4,4,5]) # listはシーケンス型 Counter({4: 3, 1: 2, 2: 1, 3: 1