Python: Rechercher dans une chaîne de caractères

Dans ce cours tu vas apprendre à utiliser les opérateurs in et not in pour vérifier si une lettre, un mot, ou une sous-chaîne est présent(e) dans une autre chaîne de caractères.

  • Exploration

Objectif

Apprendre à utiliser les opérateurs in et not in pour vérifier si une lettre, un mot, ou une sous-chaîne est présent(e) dans une autre chaîne de caractères.


Principe

L’opérateur in répond à une question simple :

Est-ce que cet élément se trouve dans cette chaîne ?

Il renvoie une valeur booléenne :

  • True → si l’élément est présent
  • False → sinon

Exemple simple

mot = "Python"

print("P" in mot)     # True  → 'P' est bien dans "Python"
print("p" in mot)     # False  → 'p' est bien dans "Python"
print("y" in mot)     # True
print("z" in mot)     # False → 'z' n'y est pas
print("Py" in mot)    # True  → sous-chaîne présente
print("thon" in mot)  # True

💡 Le test fonctionne aussi bien avec des caractères individuels qu’avec des mots entiers. 💡 Python fait la différence entre majuscules et minuscules. On dit que la comparaison est sensible à la casse (case sensitive)


Exemple avec not in

L’opérateur inverse :

Est-ce que cet élément n’est pas dans la chaîne ?

phrase = "Bonjour à tous"

print("a" not in phrase)   # False → car il y a bien un 'a'
print("z" not in phrase)   # True  → il n’y a pas de 'z'

Exemple – Vérifier la présence d’un mot

texte = "Python est un langage puissant"

if "langage" in texte:
    print("Le mot 'langage' est présent dans la phrase.")

Résultat :

Le mot 'langage' est présent dans la phrase.

Exemple – Vérifier si un mot contient une majuscule

mot = "Informatique"

if "I" in mot:
    print("Ce mot commence bien par une majuscule.")

À retenir 🧠

Expression Signification Résultat
"a" in "chat" le caractère 'a' est-il présent ? True
"z" in "chat" 'z' est-il présent ? False
"ch" in "chat" la sous-chaîne 'ch' existe ? True
" " in "Hello World" y a-t-il un espace ? True
"Python" not in "JavaScript" Python est-il absent ? True

Bonnes pratiques

  • Les comparaisons avec in sont sensibles à la casse ("p""P").
  • Tu peux normaliser tes chaînes avec .lower() ou .upper() pour éviter les erreurs :
mot = "Python"
print("p" in mot.lower())  # True
  • Combine in avec if, for, ou même des conditions multiples :

    if "@" in email and "." in email:
        print("Adresse email valide.")

En résumé

But Outil Exemple
Vérifier la présence d’un caractère in "a" in "chat"
Vérifier l’absence d’un caractère not in "z" not in "chat"
Vérifier la présence d’un mot in "Python" in phrase

Pour aller plus loin