La liste est un conteneur important en python car si stocke les éléments de tous les types de données comme une collection. La connaissance de certaines opérations de liste est nécessaire pour la programmation quotidienne. Cet article traite d’une des opérations de base de liste des façons de vérifier l’existence d’un élément dans la liste.
Méthode 1 : Méthode naïve
Dans la méthode naïve, on utilise facilement une boucle qui itère à travers tous les éléments pour vérifier l’existence de l’élément cible. C’est la façon la plus simple de vérifier l’existence de l’élément dans la liste.
Méthode 2 : Utilisation de in
Python in
est la façon la plus conventionnelle de vérifier si un élément existe dans la liste ou non. Cette façon particulière renvoie Vrai si l’élément existe dans la liste et Faux si l’élément n’existe pas dans la liste. Il n’est pas nécessaire que la liste soit triée pour pratiquer cette approche de vérification.
Code #1 : Démonstration pour vérifier l’existence d’un élément dans une liste en utilisant la méthode naïve et in
.
test_list
=
print
(
"Checking if 4 exists in list ( using loop ) : "
)
for
i
in
test_list:
if
(i
=
=
4
) :
print
(
"Element Exists"
)
print
(
"Checking if 4 exists in list ( using in ) : "
)
if
(
4
in
test_list):
print
(
"Element Exists"
)
Sortie :
Checking if 4 exists in list ( using loop ) : Element ExistsChecking if 4 exists in list ( using in ) : Element Exists
Méthode 3 : Utilisation de set()
+ in
Convertir la liste en ensemble puis utiliser in peut éventuellement être plus efficace que d’utiliser uniquement in
. Mais avoir l’efficacité pour un plus a aussi certains inconvénients. L’un d’eux est que l’ordre de la liste n’est pas préservé, et si vous optez pour prendre une nouvelle liste pour cela, vous auriez besoin d’utiliser de l’espace supplémentaire. L’autre inconvénient est que l’ensemble interdit la duplication et donc les éléments en double seraient supprimés de la liste originale.
Méthode 4 : Utilisation de sort()
+ bisect_left()
La façon conventionnelle de recherche binaire de tester l’existence de l’élément, donc la liste doit être triée en premier et donc ne pas préserver l’ordre des éléments. bisect_left()
renvoie la première occurrence de l’élément à trouver et a un fonctionnement similaire à lower_bound() dans C++ STL.
Code #2 : Démonstration pour vérifier l’existence d’un élément dans la liste en utilisant set()
+ in
et sort()
+ bisect_left()
.
from
bisect
import
bisect_left
test_list_set
=
test_list_bisect
=
print
(
"Checking if 4 exists in list ( using set() + in) : "
)
test_list_set
=
set
(test_list_set)
if
4
in
test_list_set :
print
(
"Element Exists"
)
print
(
"Checking if 4 exists in list ( using sort() + bisect_left() ) : "
)
test_list_bisect.sort()
if
bisect_left(test_list_bisect,
4
):
print
(
"Element Exists"
)