Heim >Backend-Entwicklung >Python-Tutorial >Wie kann man Elementhäufigkeiten in einer ungeordneten Python-Liste effizient zählen?

Wie kann man Elementhäufigkeiten in einer ungeordneten Python-Liste effizient zählen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-03 17:28:40728Durchsuche

How to Efficiently Count Element Frequencies in an Unordered Python List?

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:

  • counter.values(): Gibt eine Liste zurück, die die Anzahl der einzelnen eindeutigen Werte enthält.
  • counter.keys(): Gibt eine Liste zurück enthält die eindeutigen Werte in der Liste.
  • counter.most_common(n): Gibt eine Liste von Tupeln zurück, die die n am häufigsten vorkommenden Werte und deren Werte enthalten zählt.
  • dict(counter): Konvertiert das Counter-Objekt in ein reguläres Wörterbuch mit Schlüsseln als eindeutigen Werten und Werten als ihre Anzahlen.

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!

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