Heim >Backend-Entwicklung >Python-Tutorial >Wie zähle und sortiere ich Worthäufigkeiten in Python mithilfe von Counter?

Wie zähle und sortiere ich Worthäufigkeiten in Python mithilfe von Counter?

Susan Sarandon
Susan SarandonOriginal
2024-10-21 21:37:02614Durchsuche

How to Count and Sort Word Frequencies in Python Using Counter?

Worthäufigkeiten in einer Liste zählen und sortieren

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn