Recherche de site Web

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érateurCodeSortie
Égalité
print(fruit1 == 'Apple')
True
Pas égal à
print(fruit1 != 'Apple')
False
Moins que
print(fruit1 < 'Apple')
False
Plus grand que
print(fruit1 > 'Apple')
False
Moins que ou égal à
print(fruit1 <= 'Apple')
True
Supérieur ou égal à
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 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.