Compruebe si el elemento existe en la lista en Python – Part 1

La lista es un contenedor importante en Python, ya que almacena elementos de todos los tipos de datos como una colección. El conocimiento de ciertas operaciones de lista es necesario para la programación día a día. Este artículo analiza la forma más rápida de verificar si un valor existe en una lista o no usando Python .

Ejemplo:

list = test_list = [1, 6, 3, 5, 3, 4]
Input: 3  # Check if 3 exist or not.
Output: True

Input: 7  # Check if 3 exist or not.
Output: False

Método 1: método ingenuo

En el método Naive, uno usa fácilmente un bucle que itera a través de todos los elementos para verificar la existencia del elemento de destino. Esta es la forma más sencilla de comprobar la existencia del elemento en la lista. Python es la forma más convencional de verificar si un elemento existe en una lista o no. Esta forma particular devuelve True si existe un elemento en la lista y False si el elemento no existe en la lista. No es necesario ordenar la lista para practicar este enfoque de verificación.

Ejemplo 1: verificar si un elemento existe en la lista usando la declaración if-else

Python3

# python code to Check if element exists in list or not
 
lst=[ 1, 6, 3, 5, 3, 4 ]
#checking if element 7 is present
# in the given list or not
i=7
# if element present then return
# exist otherwise not exist
if i in lst:
    print("exist")
else:
    print("not exist")
 
 
    # this code is contributed by gangarajula laxmi

Producción:

not exist

Ejemplo 2: comprobar si existe un elemento en la lista mediante un bucle 

Python3

# Initializing list
test_list = [1, 6, 3, 5, 3, 4]
 
# Checking if 4 exists in list
for i in test_list:
    if(i == 4):
        print("Element Exists")

Producción:

Element Exists

Ejemplo 3: Comprueba si existe un elemento en la lista usando “ in”. 

Python3

# Initializing list
test_list = [1, 6, 3, 5, 3, 4]
 
# Checking if 4 exists in list
# using in
if (4 in test_list):
    print("Element Exists")

Producción:

Element Exists

Ejemplo 4: Comprobar si existe un elemento en la lista utilizando la función any()

Python3

# Initializing list
test_list = [1, 6, 3, 5, 3, 4]
 
result = any(item in test_list for item in test_list)
print("Does string contain any list element : " +str(bool(result)))

Producción:

Does string contain any list element : True

Método 2: compruebe si existe un elemento en la lista usando count()

Podemos usar el método List integrado de python, count(), para verificar si el elemento pasado existe en la Lista. Si el elemento pasado existe en la Lista, el método count() mostrará el número de veces que aparece en toda la lista. Si es un número positivo distinto de cero, significa que existe un elemento en la Lista. Demostración para verificar la existencia de elementos en la lista usando count() .

Python3

# Initializing list
test_list = [10, 15, 20, 7, 46, 2808]
 
print("Checking if 15 exists in list")
 
# number of times element exists in list
exist_count = test_list.count(15)
 
# checking if it is more then 0
if exist_count > 0:
    print("Yes, 15 exists in list")
else:
    print("No, 15 does not exists in list")

Producción:

Checking if 15 exists in list
Yes, 15 exists in list

Método 3: compruebe si existe un elemento en la lista usando sort + bicect_left + set

Convertir la lista en el conjunto y luego usarla posiblemente sea más eficiente que solo usarla. Pero tener eficiencia como ventaja también tiene ciertos aspectos negativos. Uno de ellos es que el orden de la lista no se conserva, y si opta por tomar una nueva lista, necesitará usar espacio adicional. Otro inconveniente es que el conjunto no permite la duplicidad y, por lo tanto, los elementos duplicados se eliminarían de la lista original. En la forma de búsqueda binaria convencional de probar la existencia de elementos, por lo tanto, la lista debe ordenarse primero y, por lo tanto, no conserva el orden de los elementos. bisect_left() devuelve la primera aparición del elemento que se va a encontrar y funciona de manera similar a lower_bound() en C++ STL.

Nota: La función de bisección solo indicará la posición donde insertar el elemento, pero no los detalles sobre si el elemento está presente o no.

Demostración para verificar la existencia del elemento en la lista usando set() + in y sort() + bisect_left()

Python3

from bisect import bisect_left ,bisect
 
# Initializing list
test_list_set = [ 1, 6, 3, 5, 3, 4 ]
test_list_bisect = [ 1, 6, 3, 5, 3, 4 ]
 
print("Checking if 4 exists in list ( using set() + in) : ")
 
# 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() ) : ")
 
# Checking if 4 exists in list
# using sort() + bisect_left()
test_list_bisect.sort()
if bisect_left(test_list_bisect, 4)!=bisect(test_list_bisect, 4):
    print ("Element Exists")
else:
    print("Element doesnt exist")

Producción:

Checking if 4 exists in list ( using set() + in) : 
Element Exists
Checking if 4 exists in list ( using sort() + bisect_left() ) : 
Element Exists

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *