python(collections勉強)
今回も勉強した記録を共有したいと思います。
collectionsのCounterについてです。
Counterはデータの件数をカウントすることが出来ます。
辞書を拡張してオブジェクトを数える機能に特化したクラスになります。
辞書のキーが要素、値にその要素数を保存します。
下記にコードを共有します。
from collections import Counter
n = Counter('hsuhfkdioekjshdnkkkjjnaajsh') # 文字列を渡す。
print(n) # 各文字の出現数が分かる。
# Counter({'k': 5, 'h': 4, 'j': 4, 's': 3, 'd': 2, 'n': 2, 'a': 2, 'u': 1, 'f': 1, 'i': 1, 'o': 1, 'e': 1})
num = [1, 2, 4, 3, 5, 1, 3, 2, 4, 5, 2, 2]
m = Counter() # 空のCounterを用意
for num_value in num:
m[num_value] += 1 # 初期化しなくても += 1でカウント出来る
print(m) # Counter({2: 4, 1: 2, 4: 2, 3: 2, 5: 2})
m_input = int(input('数値入力 ->'))
if m_input in m: # キーの存在チェック
print('存在する')
else:
print('存在しない')
for文のループで発生回数を数えるときに初期化が不要になります。
if文でキーの要素が存在しているのか確認をすることもできます。
以上になります。
この記事が気に入ったらサポートをしてみませんか?