Introductie
Je kunt strings vergelijken in Python met behulp van de gelijkheid (==
) en vergelijkings (<
, >
, !=
, <=
, >=
) operatoren. Er zijn geen speciale methoden om twee strings te vergelijken. In dit artikel leer je hoe elk van de operatoren werkt bij het vergelijken van strings.
Python string vergelijking vergelijkt de karakters in beide strings één voor één. Wanneer verschillende karakters worden gevonden, worden hun Unicode-codepuntwaarden vergeleken. Het karakter met de lagere Unicode-waarde wordt als kleiner beschouwd.
Python Gelijkheids- en Vergelijkingsoperatoren
Declareer de string variabele:
fruit1 = 'Apple'
De volgende tabel toont de resultaten van het vergelijken van identieke strings (Apple
naar Apple
) met behulp van verschillende operatoren.
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 strings zijn precies hetzelfde. Met andere woorden, ze zijn gelijk. De gelijkheidsoperator en de andere gelijk aan operatoren retourneren True
.
Als je strings van verschillende waarden vergelijkt, krijg je het tegenovergestelde resultaat.
Als u strings vergelijkt die dezelfde subreeks bevatten, zoals Apple
en ApplePie
, dan wordt de langere string als groter beschouwd.
Het vergelijken van gebruikersinvoer om gelijkheid te evalueren met behulp van operatoren
Deze voorbeeldcode neemt invoer van de gebruiker en vergelijkt deze. Vervolgens gebruikt het programma de resultaten van de vergelijking om aanvullende informatie af te drukken over de alfabetische volgorde van de invoerreeksen. In dit geval gaat het programma ervan uit dat de kleinere string voor de grotere string komt.
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.")
Dit is een voorbeeld van de mogelijke uitvoer wanneer u verschillende waarden invoert:
OutputEnter the name of first fruit:
Apple
Enter the name of second fruit:
Banana
Apple comes before Banana in the dictionary.
Dit is een voorbeeld van de mogelijke uitvoer wanneer u identieke strings invoert:
OutputEnter the name of first fruit:
Orange
Enter the name of second fruit:
Orange
Orange and Orange are the same.
Opmerking: Voor dit voorbeeld moet de gebruiker alleen hoofdletters of alleen kleine letters invoeren voor de eerste letter van beide invoerreeksen. Als de gebruiker bijvoorbeeld de strings apple
en Banana
invoert, zal de uitvoer apple komt na Banana in het woordenboek
zijn, wat onjuist is.
Deze ongelijkheid treedt op omdat de Unicode-codepunten van hoofdletters altijd kleiner zijn dan de Unicode-codepunten van kleine letters: de waarde van a
is 97 en de waarde van B
is 66. U kunt dit zelf testen door de ord()
-functie te gebruiken om de Unicode-codepuntwaarde van de tekens af te drukken.
Conclusie
In dit artikel hebt u geleerd hoe u in Python strings kunt vergelijken met behulp van de gelijkheidsoperator (==
) en de vergelijkingsoperatoren (<
, >
, !=
, <=
, >=
). Ga verder met leren over Python-strings.
Source:
https://www.digitalocean.com/community/tutorials/python-string-comparison