Heim >Backend-Entwicklung >Python-Tutorial >So zählen und sortieren Sie Wörter nach Häufigkeit in einer Liste in Python
Wörter nach Häufigkeit in einer Liste zählen und sortieren
Diese Aufgabe beinhaltet die Erstellung einer Datenstruktur, die die Häufigkeit von Wörtern in einem gegebenen Wort effektiv darstellt Liste. Ein einfacher Ansatz umfasst zwei Listen: eine für eindeutige Wörter und eine andere für entsprechende Häufigkeiten. Um die Wörter nach Häufigkeit zu sortieren, müssen wir die in der Häufigkeitsliste gespeicherten Informationen nutzen.
Python-Implementierung mit Counter
Um dies in Python zu implementieren, ohne Advanced zu verwenden Konstrukte wie Wörterbücher erstellen, können wir die Counter-Klasse aus dem Collections-Modul nutzen. Diese Klasse verfolgt bequem die Worthäufigkeit und bietet eine unkomplizierte Lösung.
Der folgende Codeausschnitt zeigt, wie die Counter-Klasse verwendet wird:
<code class="python">from collections import Counter list1 = ['apple', 'egg', 'apple', 'banana', 'egg', 'apple'] counts = Counter(list1)</code>
Dieser Code erstellt ein Counter-Objekt namens counts that enthält Worthäufigkeiten. Die print(counts)-Anweisung gibt Folgendes aus:
Counter({'apple': 3, 'egg': 2, 'banana': 1})
Standardmäßig sortiert die Counter-Klasse die Wörter alphabetisch. Wir können das Sortierverhalten jedoch anpassen, indem wir eine Schlüsselfunktion als Argument für die Methode most_common() bereitstellen. Um beispielsweise die Wörter nach Häufigkeit in absteigender Reihenfolge zu sortieren:
<code class="python">sorted_words = sorted(counts, key=lambda x: x[1], reverse=True)</code>
Zusammenfassend bietet die Counter-Klasse eine effiziente Möglichkeit, Wörter nach Häufigkeit zu zählen und zu sortieren, ohne dass komplexe Datenstrukturen wie z. B. erforderlich sind Wörterbücher.
Das obige ist der detaillierte Inhalt vonSo zählen und sortieren Sie Wörter nach Häufigkeit in einer Liste in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!