効率が向上した Python の項目頻度カウント
リスト内の項目の出現回数をカウントすることは、一般的なプログラミング タスクです。この質問では、Python でこの問題に対するより効率的なアプローチを検討します。
提示された最初のコードは機能しますが、リストを 2 回反復する必要があるため、最適なパフォーマンスが得られません。主な課題は、リストを冗長にパスせずに項目の出現をカウントする Python 的な方法を見つけることにあります。
解決策は、コレクション モジュールの Counter クラスを利用することにあります。頻度カウント用に特別に設計された Counter は、目的の結果を達成するための簡潔かつ効率的な方法を提供します。次のコードはその使用法を示しています。
from collections import Counter
words = "apple banana apple strawberry banana lemon"
Counter(words.split())
このコード スニペットは、入力文字列を個々の単語に分割し、結果のリストを Counter に渡します。結果は、キーが一意の単語を表し、値が対応するカウントを表す辞書のようなオブジェクトです。この例では、出力は次のようになります:
Counter({'apple': 2, 'banana': 2, 'strawberry': 1, 'lemon': 1})
Counter クラスは内部でハッシュ テーブルを使用してデータを保存し、定数時間の検索および挿入操作を提供します。このアプローチにより、2 回目の反復が不要になり、項目頻度カウントのパフォーマンスが大幅に向上します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3