Wie vergleicht man Strings in Python?
Einleitung
Sie können Strings mit den Gleichheits- (==
) und Vergleichsoperatoren (<
, >
, !=
, <=
, >=
) vergleichen. Es gibt keine speziellen Methoden, um zwei Strings zu vergleichen. In diesem Artikel erfahren Sie, wie jeder dieser Operatoren beim Vergleich von Strings funktioniert.
Der Vergleich von Strings in Python vergleicht die Zeichen in beiden Strings nacheinander. Wenn unterschiedliche Zeichen gefunden werden, werden ihre Unicode-Codepunktwerte verglichen. Das Zeichen mit dem niedrigeren Unicode-Wert wird als kleiner angesehen.
Strings in Python: Gleichheits- und Vergleichsoperatoren
Deklarieren Sie die String-Variable:
fruit1 = 'Apple'
Die folgende Tabelle zeigt die Ergebnisse des Vergleichs identischer Strings (Apple
mit Apple
) mit verschiedenen Operatoren.
Operator | Code | Ausgabe |
---|---|---|
Gleichheit | print(fruit1 == 'Apple') |
True |
Ungleichheit | print(fruit1 != 'Apple') |
False |
Kleiner als | print(fruit1 < 'Apple') |
False |
Größer als | print(fruit1 > 'Apple') |
False |
Kleiner oder gleich | print(fruit1 <= 'Apple') |
True |
Größer oder gleich | print(fruit1 >= 'Apple') |
True |
Beide Strings sind genau gleich. Mit anderen Worten, sie sind gleich. Der Gleichheitsoperator und die anderen Gleichheitsoperatoren geben True
zurück.
Wenn Sie Strings in Python mit unterschiedlichen Werten vergleichen, erhalten Sie genau das entgegengesetzte Ergebnis.
Wenn Sie Strings vergleichen, die denselben Teilstring enthalten, wie Apple
und ApplePie
, wird der längere String als größer angesehen.
Benutzereingaben vergleichen, um Operatoren zu bewerten
Dieser Beispielcode nimmt Eingaben vom Benutzer und vergleicht sie. Anschließend verwendet das Programm die Ergebnisse des Vergleichs, um zusätzliche Informationen über die alphabetische Reihenfolge der Strings in Python auszugeben. In diesem Fall nimmt das Programm an, dass der kleinere String vor dem größeren String kommt.
fruit1 = input('Geben Sie den Namen der ersten Frucht ein:\n')
fruit2 = input('Geben Sie den Namen der zweiten Frucht ein:\n')
if fruit1 < fruit2: print(fruit1 + " kommt vor " + fruit2 + " im Wörterbuch.") elif fruit1 > fruit2:
print(fruit1 + " kommt nach " + fruit2 + " im Wörterbuch.")
else:
print(fruit1 + " und " + fruit2 + " sind gleich.")
Beispielausgabe bei Eingabe unterschiedlicher Werte:
Ausgabe
Geben Sie den Namen der ersten Frucht ein:
Apple
Geben Sie den Namen der zweiten Frucht ein:
Banana
Apple kommt vor Banana im Wörterbuch.
Beispielausgabe bei Eingabe identischer Strings in Python:
Ausgabe
Geben Sie den Namen der ersten Frucht ein:
Orange
Geben Sie den Namen der zweiten Frucht ein:
Orange
Orange und Orange sind gleich.
Hinweis: Damit dieses Beispiel funktioniert, muss der Benutzer entweder nur Großbuchstaben oder nur Kleinbuchstaben für den ersten Buchstaben beider Eingabestrings verwenden. Wenn der Benutzer beispielsweise die Strings apple
und Banana
eingibt, lautet die Ausgabe apple kommt nach Banana im Wörterbuch
, was falsch ist.
Diese Diskrepanz entsteht, 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 Funktion ord()
verwenden, um den Unicode-Codepunktwert der Zeichen auszugeben.
Fazit zu Strings in Python
In diesem Artikel haben Sie gelernt, wie Sie Strings in Python mit den Gleichheits- (==
) und Vergleichsoperatoren (<
, >
, !=
, <=
, >=
) vergleichen.
</section