KnowHow

技術的なメモを中心にまとめます。
検索にて調べることができます。

Counterのコードメモ

登録日 :2024/10/10 09:59
カテゴリ :Python基礎

カウンターのプログラムメモ

import collections

#辞書型だけでシンプルにカウンターを作成する
d = {}
l = ['a', 'a', 'a', 'b', 'b', 'c']
for word in l:
    if word not in d:
        d[word] = 0
    d[word] += 1
print(d)

d2 = {}
l = ['a', 'a', 'a', 'b', 'b', 'c']
for word in l:
    d2.setdefault(word, 0)
    d2[word] += 1
print(d2)

#辞書型を作成するときに初期値を0を入れることもできる
d3 = collections.defaultdict(int)
for word in l:
    d3[word] += 1
print(d3)

#Collectionのカウンター
c = collections.Counter()
for word in l:
    c[word] += 1
print(c)
print(c.most_common(2))
print(c.values())
print(sum(c.values()))


#CollectionのCounterを使ってカウント数でフィルターする
l = ['a', 'b', 'c', 'a', 'b', 'a', 'a', 'c', 'a', 'd', 'e', 'e', 'e', 'e', 'e']
c1 = collections.Counter()
for word in l:
    c1[word] += 1
print(c1)

c2 = collections.Counter(l)
print(c2)

カウント数が2以上の結果を表示する
result = {k: v for k, v in c2.items() if v >= 2}
print(result)

print('*'*100)
import re
with open('lesson.py', 'r') as f:
    words = re.findall(r'\w+', f.read().lower())
    print(collections.Counter(words).most_common(5))