Heim >Backend-Entwicklung >Python-Tutorial >Wie vergleicht Python Listen mit Größer-als- und Kleiner-als-Operatoren?

Wie vergleicht Python Listen mit Größer-als- und Kleiner-als-Operatoren?

Susan Sarandon
Susan SarandonOriginal
2024-11-04 06:52:01920Durchsuche

How Does Python Compare Lists with Greater Than and Less Than Operators?

Vergleichen von Listen mit dem Größer-als- oder Kleiner-als-Operator: Unüberraschende lexikografische Sortierung

Beim Auffinden von Code, bei dem Listen direkt mit dem Größer-als-oder-kleiner-Operator verglichen werden Als Operator (> und <) können Sie davon ausgehen, dass solche Vergleiche „True“ zurückgeben, wenn alle Elemente in der ersten Liste größer sind als die in der zweiten Liste, andernfalls „False“. Tests zeigen jedoch unerwartete Ergebnisse.

Um dieses Rätsel zu lösen, wenden wir uns der Python-Dokumentation zum Vergleich von Sequenzen und anderen Typen zu. Darin heißt es, dass solche Vergleiche der lexikografischen Reihenfolge und nicht Element-für-Element-Vergleichen folgen:

  • Die ersten beiden Elemente der Listen werden verglichen. Wenn sie sich unterscheiden, bestimmt dies das Ergebnis.
  • Wenn die ersten Elemente gleich sind, werden die nächsten beiden Elemente verglichen.
  • Dieser Vorgang wird fortgesetzt, bis eine Liste aufgebraucht ist Elemente.

Betrachten Sie das folgende Beispiel:

a = [3, 3, 3, 3]
b = [4, 4, 4, 4]

Da sich die ersten Elemente (3 und 4) unterscheiden, gilt b als größer als a. Dies stimmt mit unserer Annahme überein, dass alle Elemente in b größer sind als die in a.

Der folgende Fall veranschaulicht jedoch die lexikografische Ordnungsregel deutlicher:

a = [1, 1, 3, 1]
b = [1, 3, 1, 1]

Da die ersten Elemente ( 1) gleich sind, geht der Vergleich mit den nächsten Elementen weiter. In diesem Fall ist das zweite Element von a (1) kleiner als das zweite Element von b (3). Deshalb wird b trotz der Tatsache, dass a mehr Elemente größer als 1 als b hat, als größer als a betrachtet.

Zusammenfassend lässt sich sagen, dass Python beim Vergleichen von Listen mit dem Größer-als- oder Kleiner-als-Operator eine lexikografische Reihenfolge verwendet. statt Element-für-Element-Vergleiche. Dies kann zu unerwarteten Ergebnissen führen, insbesondere wenn Listen Elemente mit unterschiedlichen Werten enthalten.

Das obige ist der detaillierte Inhalt vonWie vergleicht Python Listen mit Größer-als- und Kleiner-als-Operatoren?. 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