Vergleichsprinzip der cmp-Vergleichsfunktion von Python
cmp(x, y): Wenn das erstere kleiner als das letztere ist, wird -1 zurückgegeben, wenn sie gleich sind, wird 0 zurückgegeben. und wenn es größer als letzteres ist, wird 1 zurückgegeben.
Vergleichsprinzip der cmp-Vergleichsfunktion von Python
Pythons cmp-Funktion kann Vergleiche zwischen demselben Typ oder zwischen verschiedenen Datentypen durchführen. Bestimmen Sie dann die Vergleichsgröße basierend auf dem Rückgabewert der cmp-Vergleichsfunktion von Python.
>>> list1, list2 = [123, 'xyz'], [456, 'abc']
>>> cmp(list1, list2)
-1
>>> cmp(list2, list1)
1
>>> list3 = list2 [789]
>>> ', 789]
>>> cmp(list2, list3)
-1
Wenn wir mehrere Vergleiche der cmp-Funktion oben betrachten, können wir Folgendes zusammenfassen:
Python cmp-Vergleichsfunktion: Wenn wir zwei Objekte desselben Typs vergleichen, ist der Vergleichsvorgang sehr intuitiv.
Vergleich von Zahlen und Zeichenfolgen, direkter Vergleich ihrer Werte.
Zum Vergleich von Sequenztypen sind die Methoden ähnlich. Python versucht, faire Ergebnisse zu erzielen, wenn zwei Objekte grundsätzlich nicht vergleichbar sind. Wenn beispielsweise zwei Objekte keine Beziehung haben oder wenn die beiden Typen überhaupt keine Vergleichsfunktion haben, kann Python nur Schlussfolgerungen auf der Grundlage von „Logik“ ziehen. Vergleichsalgorithmus:
1. Vergleichen Sie die Elemente zweier Listen.
2. Wenn die verglichenen Elemente vom gleichen Typ sind, vergleichen Sie ihre Werte und geben Sie das Ergebnis zurück.
3. Wenn die beiden Elemente nicht vom gleichen Typ sind, prüfen Sie, ob es sich um Zahlen handelt.
> b. Wenn das Element auf der einen Seite eine Zahl ist, dann ist das Element auf der anderen Seite „groß“ (die Zahl ist das „kleinste“).
Andernfalls vergleichen Sie in alphabetischer Reihenfolge des Typs Name.
4. Wenn eine Liste zuerst das Ende erreicht, ist die andere, längere Liste „größer“.
5. Wenn wir die Elemente beider Listen erschöpfen und alle Elemente gleich sind, dann ist das Ergebnis ein Unentschieden, nur
bedeutet, dass eine 0 zurückgegeben wird.
Dies ist das Vergleichsprinzip der cmp-Funktion von Python