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))