リスト内の頻度による単語のカウントと並べ替え
このタスクには、特定の単語の頻度を効果的に表すデータ構造の作成が含まれます。リスト。 1 つの直接的なアプローチには、2 つのリストが含まれます。1 つは固有の単語用、もう 1 つは対応する頻度用です。頻度に基づいて単語を並べ替えるには、頻度リストに保存されている情報を活用する必要があります。
Counter を使用した Python の実装
高度な機能を使用せずにこれを Python で実装するには辞書のような構造を構築する場合、コレクション モジュールの Counter クラスを利用できます。このクラスは、単語の頻度を便利に追跡し、簡単な解決策を提供します。
以下のコード スニペットは、Counter クラスの利用方法を示しています。
<code class="python">from collections import Counter list1 = ['apple', 'egg', 'apple', 'banana', 'egg', 'apple'] counts = Counter(list1)</code>
このコードは、counts と呼ばれる Counter オブジェクトを作成します。単語の頻度が含まれています。 print(counts) ステートメントは次を出力します。
Counter({'apple': 3, 'egg': 2, 'banana': 1})
デフォルトでは、Counter クラスは単語をアルファベット順に並べ替えます。ただし、most_common() メソッドの引数として key 関数を提供することで、並べ替え動作をカスタマイズできます。たとえば、頻度に基づいて単語を降順に並べ替えるには、次のようにします。
<code class="python">sorted_words = sorted(counts, key=lambda x: x[1], reverse=True)</code>
要約すると、Counter クラスは、次のような複雑なデータ構造を必要とせず、頻度に基づいて単語を数えて並べ替える効率的な方法を提供します。辞書。
以上がPython でリスト内の単語を頻度によって数えて並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。