【今日のQ&A】リスト内のデータ集計【Python】

こんにちは、@codeship_techです。

リストに格納したデータを辞書型で集計したい。

リストから1つずつデータを取り出して、辞書に登録していきます。

同じ値が取り出された場合は、カウントします。

d = {}
for x in ls:
   if x not in d.keys():
       d[x] = 1
   else:
       d[x] += 1

また、defaultdictを用いると、この様に書くこともできます。

from collections import defaultdict
dd = defaultdict(int)
for x in ls:
   dd[x] += 1

辞書型はキーが登録されていない場合に、 +=を用いるとエラーになりますが、
defaultdictであれば、問題ありません。
これでも十分です。

from collections import Counter
d = Counter(ls)

授業日記についてのご意見

CodeShipの授業について「こんな事が知りたい・紹介して」というご意見・ご提案がありましたら、CodeShip公式Twitterアカウント(【CodeShip】プログラミングスクール)までDMまたはリプライにてお寄せください。