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

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

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-08 03:23:16822Durchsuche

How Can I Efficiently Count Element Frequencies in a Python List?

Elementhäufigkeit in einer ungeordneten Liste zählen

Bei einer ungeordneten Werteliste ist die Bestimmung der Häufigkeit jedes Elements eine häufige Programmieraufgabe. In dieser Anleitung wird erläutert, wie Sie dies mit dem Modul „collections.Counter“ in Python erreichen.

Lösung mit „collections.Counter“

In Python 2.7 oder höher bietet das Modul „collections.Counter“ eine effiziente Möglichkeit zum Zählen Elementvorkommen. Indem Sie Ihre Liste einfach als Argument an den Counter-Konstruktor übergeben, können Sie ein wörterbuchähnliches Objekt erhalten, das jedes eindeutige Element seiner Anzahl zuordnet.

import collections

a = [5, 1, 2, 2, 4, 3, 1, 2, 3, 1, 1, 5, 2]
counter = collections.Counter(a)

Jetzt können Sie das Counter-Objekt verwenden, um das abzurufen Häufigkeit jedes Elements. Hier sind ein paar gängige Operationen:

  • Zählungen als Liste abrufen:Verwenden Sie counter.values(), um eine Liste von Zählungen abzurufen.
  • Eindeutige Elemente als Liste abrufen: Verwenden Sie counter.keys(), um eine Liste eindeutiger Elemente zu erhalten Elemente.
  • Die häufigsten Elemente abrufen:Verwenden Sie counter.most_common(n), um eine Liste der n häufigsten Elemente zu erhalten.
  • Besorgen Sie sich ein Wörterbuch of counts:Verwenden Sie dict(counter), um den Counter in ein reguläres Wörterbuch umzuwandeln.
  • Get zählt in sortierter Reihenfolge:Verwenden Sie Listenverständnis und sortiert(counter.keys()), um eine Liste von Zählungen in derselben Reihenfolge wie die ursprüngliche Liste zu erhalten.
[counter[x] for x in sorted(counter.keys())]

Überlegungen zur Kompatibilität

Wenn Sie Python 2.6 oder älter verwenden, müssen Sie die online verfügbare Counter-Implementierung herunterladen und installieren.

Das obige ist der detaillierte Inhalt vonWie kann ich Elementhäufigkeiten 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