Comment comparer des chaînes en Python
Introduction
Vous pouvez comparer des chaînes 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. Dans cet article, vous apprendrez comment chacun des opérateurs fonctionne lors de la comparaison de chaînes.
La comparaison de chaînes en Python compare les caractères des deux chaînes un par un. Lorsque des caractères différents sont trouvés, 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 :
fruit1 = 'Apple'
Le tableau suivant montre les résultats de la comparaison de chaînes identiques (Apple à Apple) en utilisant différents opérateurs.
| Opérateur | Code | Sortie |
|---|---|---|
| Égalité | | |
| Pas égal à | | |
| Moins que | | |
| Plus grand que | | |
| Moins que ou égal à | | |
| Supérieur ou égal à | | |
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 Vrai.
Si vous comparez des chaînes de valeurs différentes, vous obtenez alors le résultat exactement opposé.
Si vous comparez des chaînes qui contiennent le même sous-ensemble, comme Apple et ApplePie, alors la chaîne la plus longue est considérée comme plus grande.
Comparer les entrées utilisateur pour évaluer l'égalité en utilisant des opérateurs
Ce code exemple prend et compare les entrées 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 la sortie potentielle lorsque vous entrez différentes valeurs :
Enter the name of first fruit:
Apple
Enter the name of second fruit:
Banana
Apple comes before Banana in the dictionary.
Voici un exemple de la sortie potentielle lorsque vous entrez des chaînes identiques :
Enter 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 de saisie. Par exemple, si l'utilisateur saisit les chaînes pomme et Banane, alors la sortie sera pomme vient après Banane dans le dictionnaire, ce qui est incorrect.
Cette différence se produit parce que les valeurs des points de code Unicode des lettres majuscules sont toujours inférieures à celles des lettres minuscules : la valeur de a est 97 et la valeur de B est 66. Vous pouvez tester cela vous-même en utilisant la fonction ord() pour imprimer la valeur du point de code Unicode des caractères.
Conclusion
Dans cet article, vous avez appris à comparer des chaînes en Python en utilisant les opérateurs d'égalité (==) et de comparaison (<, >, !=, <=, >=). Continuez votre apprentissage sur les chaînes Python.
