Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Elementhäufigkeiten in einer ungeordneten Liste effizient zählen?
Elementhäufigkeit in ungeordneten Listen zählen
Dieses Programmierdilemma sucht nach einer Lösung für das Zählen der Häufigkeit von Elementen in einer ungeordneten Liste. Bei einer gegebenen Werteliste besteht das Ziel darin, die Anzahl jedes einzelnen Elements zu bestimmen, das in der Liste erscheint.
Python-Implementierung mit Collections.Counter
Für Python-Versionen Ab Version 2.7 besteht eine praktische Methode zum Zählen der Elementhäufigkeiten in der Verwendung der Klasse „collections.Counter“. So können Sie Counter nutzen, um das Problem zu lösen:
import collections a = [5, 1, 2, 2, 4, 3, 1, 2, 3, 1, 1, 5, 2] counter = collections.Counter(a) # Extract the frequencies in the desired order frequencies = [counter[x] for x in sorted(counter.keys())]
Dieser Ansatz liefert eine Liste von Häufigkeiten [4, 4, 2, 1, 2], die der Anzahl jedes einzelnen Elements im Original entsprechen Liste (a), nämlich 4 Instanzen von 1, 4 von 2, 2 von 3, 1 von 4 und 2 von 5.
Überlegungen für Python-Versionen vor 2.7
Wenn Sie Python 2.6 oder früher verwenden, ist das Herunterladen einer externen Implementierung von Counter eine alternative Möglichkeit. Solche Implementierungen sind online leicht verfügbar.
Das obige ist der detaillierte Inhalt vonWie kann ich Elementhäufigkeiten in einer ungeordneten Liste effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!