python 辞書(ディクショナリ―)内の各キーの出現回数をカウント!

辞書(ディクショナリ―)内の各キーの出現回数をカウントする方法を説明します。
キーはリストの各要素としています。

for文を使用

後述の辞書内包表記とcount関数を使用する方法より処理時間が短いです。後述の方法と比較すると処理時間が短く、タイプ数はそれほど変わらないため、本方法をおすすめします。

l = ["beer", "on", "bear", "in", "beer"]
d = dict()
for k in l:
    d[k] = d.get(k, 0) + 1
print(d)
"""出力
{'beer': 2, 'on': 1, 'bear': 1, 'in': 1}
"""

下記を参考にしました。
python – Using a dictionary to count the items in a list – Stack Overflow(mmmdreg)

辞書内包表記とcount関数を使用

前述のfor文を使用した方法よりも行数が少ない点は良いですが、計算量が大きいです(*1)。処理時間が重要な場合は、本方法はおすすめできません。

l = ["beer", "on", "bear", "in", "beer"]
d = {k:l.count(k) for k in l}
print(d)
"""出力
{'beer': 2, 'on': 1, 'bear': 1, 'in': 1}
"""

下記を参考にしました。
python – Using a dictionary to count the items in a list – Stack Overflow(Ashish Kumar Verma)

コメント

  1. […] 辞書では、存在しない要素にアクセスをするとエラーが発生します。Counterでエラーが発生しません。辞書を使って各キーの出現回数をカウントする方法はpython 辞書(ディクショナリ―)内の各キーの出現回数をカウント!を参照してください。 […]

タイトルとURLをコピーしました