Heim  >  Artikel  >  Backend-Entwicklung  >  Analyse des Vergleichsprinzips der in Python integrierten Vergleichsfunktion cmp

Analyse des Vergleichsprinzips der in Python integrierten Vergleichsfunktion cmp

高洛峰
高洛峰Original
2016-10-18 09:33:451380Durchsuche

Analyse des Vergleichsprinzips der in Python integrierten Vergleichsfunktion cmp

cmp(x, y): Vergleicht zwei Objekte, wenn das erstere kleiner als das letztere ist, wird -1 zurückgegeben, wenn sie gleich sind, wird 0 zurückgegeben, und wenn ja größer als letzteres, wird 1 zurückgegeben.

Python-Vergleichsprinzip der cmp-Vergleichsfunktion

Die cmp-Funktion von Python kann zwischen demselben Typ oder zwischen verschiedenen Datentypen vergleichen. 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]
>>> list3
[456, 'abc', 789]
>>> cmp(list2, list3)
-1

Wenn wir mehrere Vergleiche der oben genannten cmp-Funktion beobachten, können wir Folgendes zusammenfassen:

Pythons cmp-Vergleichsfunktion, wenn wir zwei vergleichen Bei Objekten des gleichen Typs 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. Logik des 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.

a. Wenn es sich um Zahlen handelt, führen Sie die erforderliche Zahlenumwandlung durch und vergleichen Sie sie dann.

b. Wenn das Element einer Seite eine Zahl ist, dann ist das Element der anderen Seite „groß“ (die Zahl ist die „kleinste“).

Andernfalls vergleichen Sie in alphabetischer Reihenfolge des Typnamens .

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 Das Ergebnis ist ein Unentschieden, nur

bedeutet, dass eine 0 zurückgegeben wird.

Dies ist das Vergleichsprinzip der cmp-Funktion von Python


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