Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann man Wortvorkommen in einer Python-Liste effizient zählen?

Wie kann man Wortvorkommen in einer Python-Liste effizient zählen?

DDD
DDDOriginal
2024-10-30 17:02:26884Durchsuche

How to Efficiently Count Word Occurrences in a Python List?

Elementhäufigkeitszählung in Python

Wie zählt man effizient das Vorkommen jedes einzelnen Wortes in einer bestimmten Liste? Betrachten Sie den folgenden Code:

<code class="python">words = "apple banana apple strawberry banana lemon"
uniques = set(words.split())
freqs = [(item, words.split().count(item)) for item in uniques]
print(freqs)</code>

Obwohl diese Methode funktioniert, sind zwei Iterationen durch die Liste erforderlich, einmal zum Erstellen des eindeutigen Wortsatzes und noch einmal zum Zählen der Vorkommen. Können wir das optimieren?

Lösung: Verwendung der Counter-Klasse

Das Python-Sammlungsmodul stellt eine Counter-Klasse bereit, die speziell für diese Aufgabe entwickelt wurde. So können Sie es verwenden:

<code class="python">from collections import Counter
words = "apple banana apple strawberry banana lemon"
Counter(words.split())
# Output: Counter({'apple': 2, 'banana': 2, 'strawberry': 1, 'lemon': 1})</code>

Die Counter-Klasse zählt die Vorkommen jedes Elements in der bereitgestellten Iterable, was zu einem Wörterbuch führt, in dem Schlüssel eindeutige Elemente und Werte ihre Anzahl sind. Dieser Ansatz ist effizienter, da nur eine einzige Iteration durch die Eingabeliste erforderlich ist.

Das obige ist der detaillierte Inhalt vonWie kann man Wortvorkommen in einer Python-Liste effizient zählen?. 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