Wie prüft man effizient, ob ein Wert mehrfach in einer Liste vorkommt?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Erepaing54
User
Beiträge: 1
Registriert: Samstag 17. Mai 2025, 08:30

ich arbeite gerade an einem kleinen Projekt, bei dem ich überprüfen muss, ob bestimmte Werte mehrmals in einer Liste vorkommen. Dabei geht es nicht nur darum zu wissen, ob ein Wert doppelt ist, sondern auch wie oft.

Aktuell mache ich das so:

Code: Alles auswählen

werte = [1, 2, 3, 2, 4, 1, 5]
for w in set(werte):
    if werte.count(w) > 1:
        print(f"Wert {w} kommt {werte.count(w)}-mal vor.")

Das funktioniert, aber ich frage mich, ob es eine performantere oder "pythonic" Art gibt, das zu machen – besonders bei großen Listen.

Hat jemand Tipps oder Best Practices?
Benutzeravatar
pillmuncher
User
Beiträge: 1529
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

@Erepaing54: Du suchst collections.Counter.
In specifications, Murphy's Law supersedes Ohm's.
Antworten