Wie findet man effizient das häufigste Element in einer Python-Liste, auch bei nicht hashbaren Elementen?

Susan Sarandon
Freigeben: 2024-11-24 15:02:11
Original
275 Leute haben es durchsucht

How to Efficiently Find the Most Common Element in a Python List, Even With Non-Hashable Items?

Effizientes Finden des häufigsten Elements in einer Liste

In Python kann das Ermitteln des am häufigsten vorkommenden Elements in einer Liste eine Herausforderung darstellen. insbesondere wenn Listenelemente nicht hashbar sind. Um dieses Problem anzugehen, stellen wir einen effizienten Ansatz vor, der bei Unentschieden das Element mit dem niedrigsten Index priorisiert.

Betrachten Sie die folgende Python-Funktion:

def most_common(lst):
    return max(set(lst), key=lst.count)
Nach dem Login kopieren

Diese Funktion eliminiert Duplikate aus die Eingabelistenliste durch Konvertieren in eine Menge. Anschließend wird die Funktion max() verwendet, um das Element mit der höchsten Anzahl aus der Menge zu identifizieren. Der Schlüsselparameter gibt an, dass der Vergleich auf der Anzahl jedes Elements basieren soll, wie durch die lst.count-Methode bestimmt.

Betrachten Sie zur Veranschaulichung diese Beispiele:

>>> most_common(['duck', 'duck', 'goose'])
'duck'
Nach dem Login kopieren

Hier Beispielsweise kommt „Duck“ zweimal vor, während „Goose“ nur einmal vorkommt. Daher wird „Duck“ als häufigstes Element zurückgegeben.

>>> most_common(['goose', 'duck', 'duck', 'goose'])
'goose'
Nach dem Login kopieren

In diesem Szenario kommen sowohl „Goose“ als auch „Duck“ zweimal vor. Da „goose“ jedoch einen niedrigeren Index besitzt, wird es als häufigstes Element zurückgegeben.

Dieser Ansatz findet effektiv das häufigste Element in einer Liste, auch wenn die Elemente nicht hashbar sind, und priorisiert es Element mit dem niedrigsten Index bei Gleichstand.

Das obige ist der detaillierte Inhalt vonWie findet man effizient das häufigste Element in einer Python-Liste, auch bei nicht hashbaren Elementen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage