Heim >Backend-Entwicklung >Python-Tutorial >Wie kann man Elementhäufigkeiten in einer ungeordneten Python-Liste effizient zählen?
Ermitteln der Häufigkeit von Elementen in einer ungeordneten Liste
Betrachten Sie eine ungeordnete Liste wie a = [5, 1, 2, 2, 4, 3, 1, 2, 3, 1, 1, 5, 2]. Das Ziel besteht darin, die Häufigkeit jedes einzelnen Werts innerhalb der Liste zu bestimmen. Die gewünschte Ausgabe ähnelt b = [4, 4, 2, 1, 2], was bedeutet, dass der Wert 1 viermal erscheint, 2 viermal erscheint, 3 zweimal erscheint, 4 einmal erscheint und 5 zweimal erscheint.
In Python ist die Verwendung der Collections.Counter-Klasse eine praktische Lösung für diese Aufgabe. In Python 2.7 und höher vereinfacht diese Klasse den Prozess des Zählens des Vorkommens von Elementen in einer ungeordneten Sammlung:
import collections a = [5, 1, 2, 2, 4, 3, 1, 2, 3, 1, 1, 5, 2] counter = collections.Counter(a)
Das Objekt „collections.Counter“, Zähler, speichert die Anzahl jedes eindeutigen Werts in der Liste a . Sie können mit verschiedenen Methoden auf die Anzahl zugreifen:
Um die Anzahlen in der in angegebenen Reihenfolge zu erhalten Um die Frage zu beantworten, können Sie die Schlüssel in sortierter Reihenfolge durchlaufen:
[counter[x] for x in sorted(counter.keys())]
Wenn Sie Python 2.6 oder früher verwenden, können Sie eine Implementierung von herunterladen collections.Counter über den bereitgestellten Link und verwenden Sie ihn in Ihrem Code.
Das obige ist der detaillierte Inhalt vonWie kann man Elementhäufigkeiten in einer ungeordneten Python-Liste effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!