La lista es un contenedor importante en Python ya que almacena elementos de todos los tipos de datos como una colección. Es necesario conocer ciertas operaciones de lista para la programación día a día. Este artículo analiza la forma más rápida de comprobar si un valor existe en una lista o no se utiliza Pitón .
sanjay dutt y
Ejemplo
Input: test_list = [1, 6, 3, 5, 3, 4] 3 # Check if 3 exist or not. Output: True Explanation: The output is True because the element we are looking is exist in the list.>
Comprobar si existe un elemento en una lista en Python
- Usando en Declaración
- Usando un bucle
- Usando cualquier función()
- Usando contar() función
- Usando clasificar con bisect_left y colocar()
- Usando encontrar() método
- Usando Encimera() función
- Usando bloque try-except
Compruebe si existe un elemento en la lista utilizando el en declaración
En este método, se utiliza fácilmente un bucle que recorre todos los elementos para comprobar la existencia del elemento objetivo. Esta es la forma más sencilla de comprobar la existencia del elemento en la lista. Python es la forma más convencional de comprobar si un elemento existe o no en una lista. Esta forma particular devuelve Verdadero si un elemento existe en la lista y Falso si el elemento no existe en la lista. No es necesario ordenar la lista para practicar este método de verificación.
Python3 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')> Producción
not exist>
Complejidad del tiempo: O(1)
Espacio Auxiliar: O(n), donde n es el número total de elementos.
Encuentre si un elemento existe en la lista usando un bucle
El código Python dado inicializa una lista llamadatest_list>con algunos elementos enteros. Luego itera a través de cada elemento de la lista usando unfor>bucle. Dentro de bucle , comprueba si el elemento actuali>es igual al valor 4 usando unif>declaración. Si la condición es verdadera, imprime El elemento existe en la consola. El código generará el mensaje si el número 4 está presente en la lista y, en este caso, se imprimirá El elemento existe ya que el número 4 existe en la lista.[1, 6, 3, 5, 3, 4]>.
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>
Complejidad del tiempo: En)
Espacio Auxiliar: O(1)
Compruebe si existe un elemento en la lista usando la función any()
Esto lo logra utilizando el any()>función con una expresión generadora. La expresión del generador itera a través de cada elemento.test_list>y comprueba si aparece más de una vez en la lista. El resultado de esta verificación se almacena en la variableresult>. Finalmente, el código imprime un mensaje indicando si hay elementos duplicados, mostrando ¿La cadena contiene algún elemento de la lista?: Verdadero si existen duplicados y ¿La cadena contiene algún elemento de la lista?: Falso si no hay duplicados.
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>
Encuentre si un elemento existe en la lista usando la función count()
Podemos usar el incorporado Lista de Python método, count(), para comprobar si el elemento pasado existe en la Lista. Si el elemento pasado existe en la Lista, el contar() El método mostrará el número de veces que ocurre en toda la lista. Si es un número positivo distinto de cero, significa que existe un elemento en la Lista. Demostrando para verificar la existencia de elementos en la lista usando contar() .
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 than 0 if exist_count>0: print('Sí, 15 existe en la lista') else: print('No, 15 no existe en la lista')> Producción:
Checking if 15 exists in list Yes, 15 exists in list>
Compruebe si existe un elemento en la lista usando ordenar con bisect_left y establecer
Convertir la lista en el conjunto y luego usar él posiblemente puede ser más eficiente que solo usarlo. Pero tener la eficiencia como un plus también tiene ciertos aspectos negativos. Uno de ellos es que el orden de la lista no se conserva y, si opta por crear una nueva lista, necesitará utilizar espacio adicional. Otro inconveniente es que el conjunto no permite la duplicidad y, por tanto, los elementos duplicados se eliminarían de la lista original. En la forma convencional de búsqueda binaria de probar la existencia de elementos, 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 ha funcionado de manera similar a límite inferior() 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.
Demostrando para verificar la existencia de un elemento en la lista usando colocar() + en y clasificar() + 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>
Compruebe si existe un elemento en la lista usando el método find()
Lo dado Pitón El código comprueba si el número 15 existe en la lista.test_list>. Convierte los elementos de la lista en cadenas y los concatena con guiones. Luego, utiliza el find()>método para comprobar si la subcadena 15 existe en la cadena resultante. Si se encuentra 15, imprime Sí, 15 existe en la lista; de lo contrario, imprime No, 15 no existe en la lista.
# Initializing list test_list = [10, 15, 20, 7, 46, 2808] print('Checking if 15 exists in list') x=list(map(str,test_list)) y='-'.join(x) if y.find('15') !=-1: 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>
Compruebe si el elemento existe en la lista usando la función Counter()
El código Python proporcionado utiliza el Counter> clase de lacollections>módulo para calcular la frecuencia de cada elemento en eltest_list>. Luego verifica si la frecuencia del número 15 es mayor que 0. Si la frecuencia es distinta de cero, significa que 15 existe en la lista y el código imprime Sí, 15 existe en la lista. De lo contrario, imprime No, 15 no existe en la lista. ElCounter>La clase cuenta eficientemente las apariciones de elementos, lo que permite una verificación sencilla de la existencia.
from collections import Counter test_list = [10, 15, 20, 7, 46, 2808] # Calculating frequencies frequency = Counter(test_list) # If the element has frequency greater than 0 # then it exists else it doesn't exist if(frequency[15]>0): print('Sí, 15 existe en la lista') else: print('No, 15 no existe en la lista')> Producción
Yes, 15 exists in list>
Encuentre si un un El elemento existe en la lista usando el bloque try-except.
Un método adicional para comprobar si un elemento existe en una lista es utilizar el índice() método. Este método devuelve el índice de la primera aparición del elemento en la lista o arroja un ValueError si el elemento no está presente en la lista. Para usar este método, puede encapsular la llamada a index() en un bloque try-except para detectar el ValueError y devolver False si ocurre:
Python3 def element_exists(lst, element): # Try to get the index of the element in the list try: lst.index(element) # If the element is found, return True return True # If a ValueError is raised, the element is not in the list except ValueError: # Return False in this case return False #Test the function test_list = [1, 6, 3, 5, 3, 4] print(element_exists(test_list, 3)) # prints True print(element_exists(test_list, 7)) # prints False #This code is contributed by Edula Vinay Kumar Reddy>
Producción
True False>
Complejidad del tiempo: O(n), donde n es la longitud de la lista. El método index() recorre en iteración la lista para encontrar el elemento, por lo que la complejidad temporal es lineal.
Complejidad espacial :O(1). Este enfoque no requiere ningún espacio adicional.
Encuentre si un elemento existe en la lista usando la función filter()
Enfoque paso a paso
- Defina la lista my_list y establezca element_to_check.
- Utilice la función filter() para crear un iterador (filtered_elements) que contenga elementos iguales a element_to_check.
- Convierta el iterador filtered_elements en una lista.
- Este paso es necesario ya que la función filter() devuelve un iterador. La lista ahora contiene elementos iguales a element_to_check.
- Compruebe si la lista lista_filtrada no está vacía.
- Si la lista no está vacía, significa que el elemento existe en la lista original.
my_list = [1, 2, 3, 4, 5] element_to_check = 3 # Use filter to create an iterator of elements equal to the target element filtered_elements = filter(lambda x: x == element_to_check, my_list) # Convert the iterator to a list and check if it's not empty if list(filtered_elements): print('Element exists in the list') else: print('Element does not exist in the list')> Producción
Element exists in the list>
Complejidad del tiempo: O(n)
Complejidad del espacio auxiliar: O (n)