Heim >Backend-Entwicklung >Python-Tutorial >Wie zähle und sortiere ich Worthäufigkeiten in Python mithilfe von Counter?
In einem kürzlich durchgeführten Projekt sind Sie auf ein Problem gestoßen, bei dem Sie das Vorkommen von Wörtern in einer Liste zählen und sortieren mussten nach Häufigkeit, wobei das am häufigsten vorkommende Wort am Anfang der Liste steht. Obwohl Sie eine grundlegende Vorstellung von der Lösung hatten, waren Sie sich nicht sicher, wie Sie sie effektiv in Python 3.3 implementieren sollten.
Glücklicherweise bietet die Klasse „collections.Counter“ von Python eine einfache und effiziente Lösung für dieses Problem. Hier ist ein Beispiel:
<code class="python">from collections import Counter # Create a list of words list1 = ['apple', 'egg', 'apple', 'banana', 'egg', 'apple'] # Use Counter to count word occurrences counts = Counter(list1) # Print the counts print(counts) # Counter({'apple': 3, 'egg': 2, 'banana': 1})</code>
In diesem Beispiel erstellt Counter ein wörterbuchähnliches Objekt, bei dem die Schlüssel Wörter und die Werte deren Anzahl sind. Die print-Anweisung gibt die Anzahl für jedes einzelne Wort aus.
Um die Wörter nach Häufigkeit zu sortieren, können Sie die Methode most_common() von Counter verwenden. Diese Methode gibt eine Liste von Tupeln zurück, wobei jedes Tupel ein Wort und seine Anzahl enthält. Standardmäßig ist die Liste in absteigender Reihenfolge der Häufigkeit sortiert, d. h. das häufigste Wort steht am Anfang.
So können Sie die Liste der Wörter sortieren:
<code class="python"># Sort the words based on frequency sorted_words = [word for word, count in sorted(counts.most_common(), key=lambda x: x[1], reverse=True)] # Print the sorted list print(sorted_words) # ['apple', 'egg', 'banana']</code>
In Dieser Code sortiert die Liste der Tupel nach dem zweiten Element (Anzahl) in absteigender Reihenfolge unter Verwendung des Arguments „reverse=True“. Dadurch wird sichergestellt, dass das häufigste Wort in der Liste der sortierten Wörter an erster Stelle steht.
Das obige ist der detaillierte Inhalt vonWie zähle und sortiere ich Worthäufigkeiten in Python mithilfe von Counter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!