Python au lycée (5) : Les listes Méthode

Tester l’appartenance d’un élément à une liste

Durée estimée
5 minutes
Votre progression

Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.

Créer un compte

Méthode

En Python, l'opérateur in renvoie un booléen :

  • element in liste vaut True si element figure dans la liste, False sinon.
  • element not in liste renvoie l'inverse.

Pour utiliser ce test dans un programme :

  1. Identifier la valeur recherchée et la liste dans laquelle chercher.
  2. Écrire le test dans une condition : if element in liste : ou if element not in liste :.
  3. Définir l'action à effectuer selon le résultat du test (afficher un message, ajouter l'élément, incrémenter un compteur...).

Vérifier qu'un nom figure dans une liste

On dispose de la liste des élèves inscrits à une sortie scolaire et l'on veut savoir si Lina en fait partie.

Étape 1 : La valeur recherchée est la chaîne « Lina », la liste est inscrits :

inscrits = ["Alex", "Yanis", "Lina", "Soan", "Emma"]

Étape 2 : On place le test in dans une structure if ... else :

if "Lina" in inscrits :
    print("Lina est inscrite.")
else :
    print("Lina n'est pas inscrite.")   # affiche : Lina est inscrite.

Étape 3 : Chaque branche affiche un message adapté.

Ajouter un élément seulement s'il est absent

On construit une liste de mots-clés en évitant les doublons : on n'ajoute un mot que s'il n'est pas déjà présent.

Étape 1 : On part d'une liste existante et d'un mot à ajouter :

mots_cles = ["python", "liste", "boucle"]
nouveau = "liste"

Étape 2 : On teste l'absence du mot avec not in :

if nouveau not in mots_cles :
    mots_cles.append(nouveau)
    print("Ajouté :", nouveau)
else :
    print("Déjà présent :", nouveau)   # affiche : Déjà présent : liste

Étape 3 : La liste reste inchangée car « liste » est déjà présent. Avec nouveau = « fonction », le programme ajouterait « fonction » à la fin.

Remarque

L'opérateur in fonctionne aussi pour tester l'appartenance d'un caractère à une chaîne :

if "a" in "Mathématiques" :
    print("contient un a")

Il est donc très général. Combiné à une boucle, il permet aussi de compter les éléments communs entre deux listes.

Attention

Deux pièges à éviter :

  • Confondre in (test d'appartenance) et in (boucle for) : dans for x in liste, le mot in sert à parcourir ; dans if x in liste, il sert à tester. Ce sont deux usages distincts malgré le même mot-clé.
  • Sensibilité à la casse et au type : « Lina » in [« lina », « alex »] renvoie False car les majuscules diffèrent. De même, 3 in [« 3 », « 4 »] renvoie False : l'entier $3$ n'est pas la chaîne « 3 ».

Pour s'entraîner