Heim >Backend-Entwicklung >Python-Tutorial >Wie finde ich das häufigste Element in einer Python-Liste, auch wenn es nicht hashbar ist?
Das am häufigsten vorkommende Element in einer Python-Liste finden
In Python ist das Identifizieren des am häufigsten vorkommenden Elements in einer Liste eine häufige Programmieraufgabe . Allerdings wird es zu einer Herausforderung, wenn die Elemente nicht hashbar sind, was die Verwendung von Wörterbüchern verhindert.
Lösung
Eine effiziente Lösung besteht darin, die Max-Funktion mit einem benutzerdefinierten Schlüssel zu verwenden . Die Max-Funktion vergleicht normalerweise Elemente basierend auf ihren intrinsischen Eigenschaften. Wir können dieses Verhalten jedoch neu definieren, indem wir einen benutzerdefinierten Schlüssel bereitstellen, um den Vergleich basierend auf der Häufigkeit der Elemente zu erleichtern.
Hier ist eine kurze Implementierung in Python:
def most_common(lst): return max(set(lst), key=lst.count)
Diese Lösung erstellt zunächst einen Satz aus der Eingabeliste, der automatisch Duplikate eliminiert und gleichzeitig die Reihenfolge der Elemente beibehält. Anschließend wird die Max-Funktion auf diesen Satz angewendet, wobei die Methode lst.count als Schlüssel verwendet wird. Die Methode lst.count gibt die Anzahl der Vorkommen jedes Elements in der Originalliste zurück. Durch die Verwendung dieser Methode als Schlüssel ordnet die Max-Funktion die Elemente effektiv nach ihren Häufigkeiten.
Bei Gleichständen wählt die Max-Funktion das Element mit dem niedrigsten Index in der Originalliste aus. Dieses Verhalten stellt sicher, dass im gegebenen Beispiel most_common(['duck', 'duck', 'goose']) korrekt 'duck' zurückgibt.
Diese Lösung bietet eine einfache und effiziente Möglichkeit, das zu finden häufigstes Element in einer Python-Liste, auch wenn die Elemente nicht hashbar sind.
Das obige ist der detaillierte Inhalt vonWie finde ich das häufigste Element in einer Python-Liste, auch wenn es nicht hashbar ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!