順序なしリスト内の要素の頻度を数える
このプログラミングのジレンマは、順序なしリスト内の要素の頻度を数える解決策を求めます。値のリストが与えられた場合、その目的は、リストに表示される個別の要素の数を決定することです。
Collections.Counter を使用した Python の実装
Python バージョンの場合2.7 以降では、要素の頻度を集計するための便利な方法は、collections.Counter クラスを使用することです。 Counter を活用して問題に対処する方法は次のとおりです:
import collections a = [5, 1, 2, 2, 4, 3, 1, 2, 3, 1, 1, 5, 2] counter = collections.Counter(a) # Extract the frequencies in the desired order frequencies = [counter[x] for x in sorted(counter.keys())]
このアプローチでは、元の各固有要素の数に対応する頻度のリスト [4, 4, 2, 1, 2] が生成されます。リスト (a)、つまり 1 の 4 つのインスタンス、2 の 4 つ、3 の 2 つ、4 の 1 つ、および 2 の 2 つ5.
2.7 より前の Python バージョンに関する考慮事項
Python 2.6 以前を使用している場合は、Counter の外部実装をダウンロードすることが代替ルートです。このような実装はオンラインで簡単に入手できます。
以上が順序なしリスト内の要素の頻度を効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。