Tester l’appartenance d’un élément à une liste
Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.
Créer un compteMé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 :
- Identifier la valeur recherchée et la liste dans laquelle chercher.
- Écrire le test dans une condition : if element in liste : ou if element not in liste :.
- 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 ».