Counter
項目を簡単に数えます
「Counter」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全4レッスンが含まれています。
Counterとは何ですか?
Counterは、カウント処理向けに作られたcollectionsモジュールの辞書サブクラスです。項目を渡すと、それぞれの出現回数を数えます。
from collections import Counterでインポートします。
from collections import Counter
c = Counter(['a', 'b', 'a', 'c', 'a'])
print(c)文字を数える
文字列を含む任意のイテラブルを渡すと、Counterは各要素を数えます。文字列は1文字ずつカウントされます。
from collections import Counter
c = Counter('mississippi')
print(c)カウントを参照する
辞書のキーと同じようにカウントにアクセスします。存在しないキーを指定すると、KeyErrorを発生させる代わりに0を返します。通常のdictとの便利な違いです。
from collections import Counter
c = Counter('banana')
print(c['a'])
print(c['z'])出現頻度の高い項目
.most_common(n)は、上位n個の項目を(項目、カウント)のペアとして返します。出現頻度の高い順に並びます。
from collections import Counter
words = ['red', 'blue', 'red', 'green', 'blue', 'red']
c = Counter(words)
print(c.most_common(2))頻度順にすべての項目を取得する
引数なしで.most_common()を呼び出すと、すべての項目を頻度順に取得できます。
from collections import Counter
c = Counter('aabbbcccc')
print(c.most_common())カウントを更新する
.update()メソッドは、通常のdictのように既存の値を置き換えるのではなく、別のイテラブルからカウントを追加します。
from collections import Counter
c = Counter(['a', 'b'])
c.update(['a', 'a', 'c'])
print(c)辞書からカウントする
項目とカウントの対応を表すマッピングからCounterを直接作成することも、キーワード引数を使って作成することもできます。
from collections import Counter
c = Counter(apples=3, pears=2)
print(c)
print(c['apples'])2つのCounterを加算する
+演算子は、対応するキーの値を合計して2つのCounterを結合します。合計が0以下になる項目は削除されます。
from collections import Counter
a = Counter(x=2, y=1)
b = Counter(x=1, z=4)
print(a + b)カウントを減算する
-演算子はカウントを減算し、結果が正の項目だけを残します。負の値も許可したい場合は.subtract()を使います。
from collections import Counter
a = Counter(x=5, y=2)
b = Counter(x=3, y=4)
print(a - b)すべてのカウントの合計
sum(c.values())ですべてのカウントを合計します。これにより、カウントした項目の総数が分かります。
from collections import Counter
c = Counter('mississippi')
print('Total letters:', sum(c.values()))要素を列挙する
.elements()は、各要素をそのカウント回数だけ繰り返すイテレーターを返します。list()で囲むと、すべての要素を確認できます。
from collections import Counter
c = Counter(a=2, b=1, c=3)
print(sorted(c.elements()))クイックチェック
c = Counter('hello')のとき、c['x']は何を返しますか?
復習:Counter
Counterについて、次のことを学びました:
- 文字列を含む任意のイテラブルから項目をカウントします。
- 存在しないキーに対して、エラーではなく
0を返します。 .most_common(n)で項目を出現頻度順に並べられます。- カウント処理に
+、-、.update()、.elements()を使えます。
from collections import Counter
votes = ['yes', 'no', 'yes', 'yes', 'no']
print(Counter(votes).most_common(1))よくある質問
「Counter」レッスンは無料ですか?
はい。「Counter」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全4レッスンが含まれています。
「Counter」で何を学びますか?
項目を簡単に数えます ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Python Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Counter」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPython Academyレッスンでコードを書いて実行できますか?
はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。