Hoe te vergelijken Strings in Python

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:

Output
Enter 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:

Output
Enter 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