Wie man Zeichenketten in Python vergleicht

Einführung

Sie können Zeichenfolgen in Python mit den Gleichheits (==) und Vergleichs (<, >, !=, <=, >=) Operatoren vergleichen. Es gibt keine speziellen Methoden, um zwei Zeichenfolgen zu vergleichen. In diesem Artikel erfahren Sie, wie jeder der Operatoren beim Vergleich von Zeichenfolgen funktioniert.

Der Python-Zeichenfolgenvergleich vergleicht die Zeichen in beiden Zeichenfolgen nacheinander. Wenn unterschiedliche Zeichen gefunden werden, werden ihre Unicode-Codepunkt-Werte verglichen. Das Zeichen mit dem niedrigeren Unicode-Wert gilt als kleiner.

Python Gleichheits- und Vergleichsoperatoren

Definieren Sie die Zeichenfolgenvariable:

fruit1 = 'Apple'

In der folgenden Tabelle sind die Ergebnisse des Vergleichs identischer Zeichenfolgen (Apple mit Apple) mit verschiedenen Operatoren aufgeführt.

Operator Code Output
Equality print(fruit1 == 'Apple') True
Not equal to print(fruit1 != 'Apple') False
Less than print(fruit1 < 'Apple') False
Greater than print(fruit1 > 'Apple') False
Less than or equal to print(fruit1 <= 'Apple') True
Greater than or equal to print(fruit1 >= 'Apple') True

Beide Zeichenfolgen sind genau gleich. Mit anderen Worten, sie sind gleich. Der Gleichheitsoperator und die anderen gleich zu Operatoren geben True zurück.

Wenn Sie Zeichenfolgen mit unterschiedlichen Werten vergleichen, erhalten Sie das genaue Gegenteil als Ausgabe.

Wenn Sie Zeichenfolgen vergleichen, die dieselbe Teilzeichenfolge enthalten, wie Apple und ApplePie, wird die längere Zeichenfolge als größer betrachtet.

Vergleich der Benutzereingabe zur Auswertung der Gleichheit unter Verwendung von Operatoren

Dieses Beispiel nimmt Code die Benutzereingabe entgegen und vergleicht sie. Das Programm verwendet dann die Ergebnisse des Vergleichs, um zusätzliche Informationen über die alphabetische Reihenfolge der Eingabezeichenfolgen auszugeben. In diesem Fall geht das Programm davon aus, dass die kleinere Zeichenfolge vor der größeren Zeichenfolge kommt.

fruit1 = input('Enter the name of the first fruit:\n')
fruit2 = input('Enter the name of the second fruit:\n')

if fruit1 < fruit2:
    print(fruit1 + " comes before " + fruit2 + " in the dictionary.")
elif fruit1 > fruit2:
    print(fruit1 + " comes after " + fruit2 + " in the dictionary.")
else:
    print(fruit1 + " and " + fruit2 + " are the same.")

Hier ist ein Beispiel für die potenzielle Ausgabe, wenn Sie verschiedene Werte eingeben:

Output
Enter the name of first fruit: Apple Enter the name of second fruit: Banana Apple comes before Banana in the dictionary.

Hier ist ein Beispiel für die potenzielle Ausgabe, wenn Sie identische Zeichenfolgen eingeben:

Output
Enter the name of first fruit: Orange Enter the name of second fruit: Orange Orange and Orange are the same.

Hinweis: Damit dieses Beispiel funktioniert, muss der Benutzer entweder nur Großbuchstaben oder nur Kleinbuchstaben für den ersten Buchstaben beider Eingabezeichenfolgen eingeben. Wenn der Benutzer beispielsweise die Zeichenfolgen apple und Banana eingibt, lautet die Ausgabe apple kommt nach Banana im Wörterbuch, was falsch ist.

Diese Diskrepanz tritt auf, weil die Unicode-Codepunktwerte von Großbuchstaben immer kleiner sind als die Unicode-Codepunktwerte von Kleinbuchstaben: Der Wert von a ist 97 und der Wert von B ist 66. Sie können dies selbst testen, indem Sie die ord()-Funktion verwenden, um den Unicode-Codepunktwert der Zeichen auszugeben.

Schlussfolgerung

In diesem Artikel haben Sie gelernt, wie Sie Zeichenfolgen in Python mit den Gleichheits (==) und Vergleichs (<, >, !=, <=, >=) Operatoren vergleichen. Setzen Sie Ihr Lernen über Python-Zeichenfolgen fort.

Source:
https://www.digitalocean.com/community/tutorials/python-string-comparison