Introduction
Vous pouvez comparer des chaînes de caractères en Python en utilisant les opérateurs d’égalité (==
) et de comparaison (<
, >
, !=
, <=
, >=
). Il n’existe pas de méthodes spéciales pour comparer deux chaînes de caractères. Dans cet article, vous apprendrez comment fonctionnent chacun des opérateurs lors de la comparaison de chaînes de caractères.
La comparaison de chaînes de caractères en Python compare les caractères des deux chaînes un par un. Lorsque des caractères différents sont trouvés, alors leurs valeurs de point de code Unicode sont comparées. Le caractère avec la valeur Unicode la plus basse est considéré comme plus petit.
Opérateurs d’égalité et de comparaison en Python
Déclarez la variable de chaîne de caractères :
fruit1 = 'Apple'
Le tableau suivant montre les résultats de la comparaison de chaînes identiques (Apple
à Apple
) en utilisant différents opérateurs.
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 |
Les deux chaînes sont exactement les mêmes. En d’autres termes, elles sont égales. L’opérateur d’égalité et les autres opérateurs égal à renvoient True
.
Si vous comparez des chaînes de valeurs différentes, alors vous obtenez la sortie exactement opposée.
Si vous comparez des chaînes qui contiennent la même sous-chaîne, comme Apple
et ApplePie
, alors la chaîne la plus longue est considérée comme plus grande.
Comparer l’entrée utilisateur pour évaluer l’égalité en utilisant des opérateurs
Ce code exemple prend et compare l’entrée de l’utilisateur. Ensuite, le programme utilise les résultats de la comparaison pour imprimer des informations supplémentaires sur l’ordre alphabétique des chaînes d’entrée. Dans ce cas, le programme suppose que la chaîne plus petite vient avant la chaîne plus grande.
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.")
Voici un exemple de sortie potentielle lorsque vous saisissez différentes valeurs:
OutputEnter the name of first fruit:
Apple
Enter the name of second fruit:
Banana
Apple comes before Banana in the dictionary.
Voici un exemple de sortie potentielle lorsque vous saisissez des chaînes identiques:
OutputEnter the name of first fruit:
Orange
Enter the name of second fruit:
Orange
Orange and Orange are the same.
Remarque: Pour que cet exemple fonctionne, l’utilisateur doit entrer soit uniquement des majuscules soit uniquement des minuscules pour la première lettre des deux chaînes d’entrée. Par exemple, si l’utilisateur entre les chaînes apple
et Banana
, alors la sortie sera apple comes after Banana in the dictionary
, ce qui est incorrect.
Cette disparité se produit parce que les valeurs des points de code Unicode des lettres majuscules sont toujours plus petites que celles des lettres minuscules : la valeur de a
est 97 et celle de B
est 66. Vous pouvez le tester vous-même en utilisant la fonction ord()
pour afficher la valeur du point de code Unicode des caractères.
Conclusion
Dans cet article, vous avez appris comment comparer des chaînes de caractères en Python en utilisant les opérateurs d’égalité (==
) et de comparaison (<
, >
, !=
, <=
, >=
). Poursuivez votre apprentissage sur les chaînes de caractères Python.
Source:
https://www.digitalocean.com/community/tutorials/python-string-comparison