ホームページ >バックエンド開発 >Python チュートリアル >順序なし Python リスト内の要素の頻度を効率的にカウントするにはどうすればよいですか?
順序なしリスト内の要素の頻度を取得する
a = [5, 1, 2, 2, 4、3、1、2、3、1、1、5、2]。目標は、リスト内のそれぞれの一意の値の頻度を決定することです。目的の出力は b = [4, 4, 2, 1, 2] に似ており、値 1 が 4 回出現し、2 が 4 回出現し、3 が 2 回出現し、4 が 1 回出現し、5 が 2 回出現することを示します。
Python では、このタスクに便利なソリューションは collections.Counter クラスを利用することです。 Python 2.7 以降では、このクラスは、順序なしコレクション内の要素の出現をカウントするプロセスを簡素化します。
import collections a = [5, 1, 2, 2, 4, 3, 1, 2, 3, 1, 1, 5, 2] counter = collections.Counter(a)
collections.Counter オブジェクトのカウンターは、リスト内の各一意の値のカウントを保持します。 。さまざまなメソッドを使用してカウントにアクセスできます。
指定された順序でカウントを取得するには質問では、ソートされた順序でキーを反復できます:
[counter[x] for x in sorted(counter.keys())]
Python 2.6 以前を使用している場合は、次のことができます。提供されたリンクから collections.Counter の実装をダウンロードし、コードで使用します。
以上が順序なし Python リスト内の要素の頻度を効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。