Comparer des chaînes en Python

Manav Narula 30 janvier 2023
  1. Utiliser les opérateurs relationnels pour comparer des chaînes de caractères en Python
  2. Utilisez l’opérateur is pour comparer les chaînes de caractères en Python
  3. Utiliser la logique définie par l’utilisateur pour comparer des chaînes de caractères en Python
  4. Utiliser les expressions régulières pour comparer des chaînes de caractères en Python
Comparer des chaînes en Python

Ce tutoriel présente comment comparer des chaînes de caractères en Python.

Utiliser les opérateurs relationnels pour comparer des chaînes de caractères en Python

En Python, les opérateurs relationnels sont utilisés pour comparer différentes valeurs. Les chaînes de caractères peuvent être comparées à l’aide de ces opérateurs. Lorsque nous comparons des chaînes de caractères, nous comparons leurs valeurs Unicode.

Dans le code ci-dessous, nous allons comparer deux chaînes de caractères en utilisant les opérateurs relationnels et imprimer leurs résultats.

str1 = "Mark"
str2 = "Jack"

print(str1 > str2)
print(str1 < str2)
print(str1 == str2)
print(str1 != str2)
print(str1 >= str2)
print(str1 <= str2)

Production :

True
False
False
True
True
False

Les comparaisons de chaînes en Python sont sensibles à la casse. Si nous voulons effectuer les comparaisons de chaînes de manière insensible à la casse, nous pouvons utiliser la fonction islower(), qui convertit tous les caractères de la chaîne en minuscules, puis procéder à leur comparaison.

Utilisez l’opérateur is pour comparer les chaînes de caractères en Python

L’opérateur is est utilisé pour vérifier la comparaison d’identité en Python. Cela signifie que si deux variables ont le même emplacement mémoire, alors leur identité est considérée comme la même, et le résultat de leur comparaison est True; sinon, il est False. L’opérateur is est différent de l’opérateur relationnel == puisque ce dernier vérifie l’égalité. Par exemple,

str1 = "Mark"
str2 = str1
str3 = "MARK"
print(str1 is str2)
print(str1 is str3)

Production :

True
False 

Utiliser la logique définie par l’utilisateur pour comparer des chaînes de caractères en Python

Outre ces opérateurs intégrés, nous pouvons créer des fonctions définies par l’utilisateur pour comparer des chaînes de caractères sur d’autres facteurs comme leur longueur et bien d’autres encore.

Dans le code suivant, nous mettons en œuvre une fonction définie par l’utilisateur pour comparer la longueur de deux chaînes de caractères.

def check_len(s1, s2):
    a = len(s1)
    b = len(s2)
    if a > b:
        print(s1, " is Longer")
    elif a == b:
        print("Equal Length")
    else:
        print(s2, " is Longer")


str1 = "Mark"
str2 = "Jack"
check_len(str1, str2)

Production :

Equal Length

Utiliser les expressions régulières pour comparer des chaînes de caractères en Python

Les expressions régulières sont très utilisées en Python et peuvent être utilisées pour vérifier si une chaîne de caractères correspond ou non à un motif.

Dans l’exemple suivant, nous allons comparer deux chaînes de caractères avec un motif en utilisant des expressions régulières.

import re

str1 = "Mark"
str2 = "Jack"


def check_pattern(s):
    if re.match("Ma[a-z]+", s):
        print("Pass")
    else:
        print("Fail")


check_pattern(str1)
check_pattern(str2)

Production :

True
False

Le modèle re ci-dessus vérifie si une chaîne commence par Ma et est suivie par d’autres lettres. C’est pourquoi Mark renvoie True et ack renvoie False.

Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Python String