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