check ob alle Elemente in einer Liste identisch sind

Ich brauche die folgende Funktion:

Eingan: einlist

Ausgab:

True wenn alle Elemente in der Eingabeliste mit dem Standard-Gleichheitsoperator als gleich ausgewertet werden;False Andernfalls

Performanc: natürlich ziehe ich es vor, keinen unnötigen Overhead zu verursachen.

Ich denke, es wäre am besten,

Durchsuche die Liste angrenzende Elemente vergleichenundAND Alle resultierenden Booleschen Werte

Aber ich bin mir nicht sicher, was der pythonischste Weg ist, das zu tun.

BEARBEITE:

Vielen Dank für all die tollen Antworten. Ich habe mehrere Bewertungen erhalten, und es war wirklich schwierig, zwischen @KennyTM- und @Ivo van der Wijk-Lösungen zu wählen.

Die fehlende Kurzschlussfunktion schadet nur bei langen Eingängen (über 50 Elemente), die zu Beginn ungleiche Elemente aufweisen. Wenn dies oft genug vorkommt (wie oft es von der Länge der Listen abhängt), ist ein Kurzschluss erforderlich. Der beste Kurzschlussalgorithmus scheint @KennyTM @ zu secheckEqual1. Es zahlt sich jedoch ein erheblicher Aufwand dafür aus:

is zu 20-fache Leistung bei nahezu identischen Listis zu 2,5-fache Leistung auf Kurzlist

Wenn die langen Eingänge mit frühen ungleichen Elementen nicht (oder nur selten) vorkommen, ist kein Kurzschluss erforderlich. Dann ist @Ivo van der Wijk die mit Abstand schnellste Lösung.

Antworten auf die Frage(48)

Ihre Antwort auf die Frage