Tuto Python : Rechercher un élément dans une liste
Table des matières
- Utilisation de la compréhension de liste
- Rechercher un élément unique dans une liste à l’aide de l’opérateur «in»
- Utilisation de la méthode "any ()"
- Utilisation du filtre et des lambdas
- Utilisation la méthode index :
- Rechercher plusieurs indices dans une liste :
- En utilisant la fonction personnalisée :
- Rechercher et compter les éléments dans une liste en fonction de leur longueur :
- Exercice :
Introduction
Liste est un conteneur important en python comme s'il stockait des éléments de tous les types de données sous forme de collection. La connaissance de certaines opérations de liste est nécessaire pour la programmation de jour. Cet article décrit l'une des opérations de base de liste des moyens de vérifier l'existence d'un élément dans la liste.
1. Utilisation de la compréhension de liste
Où vous souhaitez uniquement vérifier si un élément fait partie d'un mot de la liste et renvoyer tous ces mots où votre mot est une sous-chaîne de l'élément de la liste.
Considérez la liste ci-dessous :
ls = [‘liste’, 'element', 'python']
Si vous souhaitez rechercher la sous-chaîne python dans tous les éléments de la liste, nous pouvons utiliser des compréhensions de liste au format suivant
ls = ['liste', 'element', 'python']
matches = [match for match in ls if "python" in match]
print(matches)
C'est équivalent au code ci-dessous, qui a simplement deux boucles et vérifie la condition.
syntax:
ls = ['liste', 'element', 'python']
matches = []
for match in ls:
if "python" in match:
matches.append(match)
print(matches)
Sortie:
2. Rechercher un élément unique dans une liste à l’aide de l’opérateur «in»
Le script suivant illustre comment rechercher directement tout élément suivant dans une liste à l'aide de l'opérateur "in" sans avoir besoin d'une boucle. Une liste de noms de fleurs est définie dans le script et un nom de fleur sera considéré comme une entrée utilisateur pour trouver la liste. Si le code est utilisé avec "in" pour trouver le nom de la fleur donnée dans cette liste.
Syntaxe :
# Définir une liste
ls = ['liste', 'element', 'python']
# Prenez ce que vous voulez rechercher dans la liste
ls = input("Enter un element:")
# Rechercher l'élément à l'aide de l'opérateur 'in'
if ls.lower() in ls:
# Print success message
print("%s is found in the list" %(ls))
else:
# Imprimer le message introuvable
print("%s is not found in the list" %(ls))
Sortie :
3. Utilisation de la méthode "any ()"
Si vous souhaitez vérifier l'existence de la chaîne d'entrée dans n'importe quel élément de la liste, nous pouvons utiliser la méthode any () pour vérifier si cela est vrai.
Par exemple, si vous souhaitez tester si pyhton fait partie de l’un des éléments de la liste, nous pouvons effectuer les opérations suivantes:
Syntaxe :
ls = ['liste', 'element', 'python']
if any("python" in word for word in ls):
print('\'python\' est là dans la liste!')
else:
print('\'python\' n est pas là dans la liste')
Sortie :
4. Utilisation du filtre et des lambdas
Nous pouvons également utiliser la méthode filter() sur une fonction lambda, qui est une fonction simple qui n'est définie que sur cette ligne particulière. Considérez lambda comme une mini fonction, qui ne peut pas être réutilisée après l'appel.
Syntax:
ls = ['liste', 'element', 'python']
# Le deuxième paramètre est l'entrée itérable
# Le filtre () applique le lambda à l'itérable
# et ne renvoie que toutes les correspondances où le lambda évalue
# à vrai
filter_object = filter(lambda a: 'python' in a, ls)
# Convertir l'objet filtre en liste
print(list(filter_object))
Sortie :
5. Utilisation la méthode index :
Une autre méthode pour obtenir un élément particulier dans une liste consiste à utiliser la méthode index. Le script suivant illustre comment utiliser la méthode index () pour obtenir un élément dans une liste. Cette manière dépend d'une position d'index disponible si l'élément particulier est trouvé dans la liste, sinon il obtient une ValueError si vous devez stocker l'élément dans une variable. Le bloc essaiera d'afficher le message de réussite si la méthode index () aboutit à un élément positionnel valide basé sur la valeur de recherche. Le bloc except vous donnera le message d'échec si l'élément n'existe pas dans la liste.
Syntax :
try:
# Définir une liste de livres
ls = ['liste', 'element', 'python']
# Prenez ce que vous voulez rechercher dans la liste
el = input("Enter un element :")
# Rechercher l'élément en utilisant la méthode d'index
se = int(ls.index(el))
# Imprimer le message trouvé
print("%s est trouvé dans la liste" %(el))
except(ValueError):
# Imprimer le message introuvable
print("%s n'est pas trouvé dans la liste" %(el))
Sortie :
6. Rechercher plusieurs indices dans une liste :
La manière de trouver un seul élément dans une liste est présentée dans les deux exemples précédents. Le script donné illustre comment obtenir tous les éléments d'une liste dans une autre liste. Trois listes sont utilisées dans ce script. selectedList est la liste principale dans laquelle les éléments searchList seront recherchés. foundList est utilisé ici pour stocker les éléments trouvés dans selectedList après la recherche. La première boucle for est utilisée pour obtenir foundList, et la seconde boucle for est utilisée pour itérer foundList et afficher la sortie.
Syntax:
# Définir une liste de personnes sélectionnées
ls = ['liste', 'element', 'python']
# Définir une liste de recherche de personne
recherchls = ['element', 'python', 'numero']
# Définir une liste vide
listetrouve = []
# Itérer chaque élément de la liste sélectionnée
for index, sListe in enumerate(ls):
# Faites correspondre l'élément avec l'élément de searchList
if sListe in recherchls:
# Stocker la valeur dans foundList si la correspondance est trouvée
listetrouve.append(ls[index])
# itérer la liste de recherche
for val in recherchls:
# Vérifiez que la valeur existe dans foundList ou non
if val in listetrouve:
print("%s est sélectionné.\n" %val)
else:
print("%s n est pas sélectionné.\n" %val))
Sortie :
7. En utilisant la fonction personnalisée :
Si vous souhaitez rechercher l'élément plusieurs fois dans une liste, il est préférable d'utiliser une méthode de recherche personnalisée au lieu d'écrire un script de recherche plusieurs fois. Le script suivant montre comment rechercher une valeur dans une liste à l'aide d'une fonction personnalisée nommée findElement. La fonction renverra True si la liste contient l'élément de recherche sinon renvoie False.
Syntax:
ls = ['liste', 'element', 'python']
recherch = input('Tapez un element: ')
# Définissez la fonction personnalisée pour trouver l'élément dans la liste
def findElement(liste, recherchElement):
# Lire la liste en utilisant la boucle
for value in liste:
# Vérifiez que la valeur de l'élément est égale ou non à la valeur de recherche
if value == recherchElement:
return True
# Renvoie false si aucune correspondance n'est trouvée
return False
# Appelez la fonction avec le nom de la liste et la valeur de recherche
if findElement(ls, recherch.lower()):
print("%s est trouvé" %recherch)
else:
print("%s n est pas trouvé" %recherch)
Sortie :
8. Rechercher et compter les éléments dans une liste en fonction de leur longueur :
Le code suivant illustre comment obtenir et compter le nombre d'éléments dans une liste en fonction de la longueur de l'élément. Ici, la liste appelée people est itérée à l'aide de la boucle for et vérifie la longueur de chaque élément de la liste. La valeur du compteur est incrémentée si la longueur de l'élément est supérieure ou égale à 7.
Syntax:
ls = ['liste', 'element', 'python']
# Initialiser le compteur
compte = 0
# Itérer la liste en utilisant la boucle
for element in ls :
# Vérifiez la longueur de l'élément
if (len(element) >= 7) :
# Incrémenter le compteur de un
compte = compte + 1
# Vérifiez la valeur du compteur
if (compté > 0):
print("%d la longueur de la liste de la personne est / sont supérieure à 7." %compte)
else:
print("La longueur du nom de toutes les personnes est inférieure à 7.")
Sortie :
9. Exercice :
9.1 Exercice 1 :
Ecrire un programme Python qui recherche un élément sur une liste en utilisant l'opérateur «in».
9.2 Exercice 2 :
Ecrire un programme Python qui trouve la position d'un élément dans cette liste à l'aide de la méthode index
10. Solution :
10.1 Exercice 1 :
Syntax:
a = [1, 2, 3]
b = 4
if b in a:
print('4 is present!')
else:
print('4 is not present')
Sortie :
10.2 Exercice 2 :
Syntax:
streaming = ['netflix', 'hulu', 'disney+', 'appletv+']
index = streaming.index('disney+')
print('L index de disney + est:', index)
Sortie :
Conclusion :
Différentes façons de rechercher des éléments uniques et multiples dans la liste sont présentées dans ce didacticiel à l'aide de l'opérateur in, de la méthode d'indexation et de la fonction personnalisée. Le lecteur pourra effectuer une recherche correctement dans la liste python après avoir lu ce tutoriel.
Article publié le 25 Janvier 2021 par Mouhtat Bilal