logo

Comproveu si l'element existeix a la llista a Python

La llista és un contenidor important a Python, ja que emmagatzema elements de tots els tipus de dades com a col·lecció. El coneixement de determinades operacions de llista és necessari per a la programació diària. En aquest article s'explica la manera més ràpida de comprovar si un valor existeix en una llista o no s'utilitza Python .

Exemple



  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.>

Comproveu si existeix un element en una llista en Python

Comproveu si existeix un element a la llista amb el botó en declaració

En aquest mètode, s'utilitza fàcilment un bucle que itera a través de tots els elements per comprovar l'existència de l'element objectiu. Aquesta és la manera més senzilla de comprovar l'existència de l'element a la llista. Python és la forma més convencional de comprovar si un element existeix en una llista o no. Aquesta manera particular retorna True si un element existeix a la llista i False si l'element no existeix a la llista. No cal ordenar la llista per practicar aquest enfocament de comprovació.

Python 3
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')>

Sortida
not exist>

Complexitat temporal: O(1)
Espai auxiliar: O(n), on n és el nombre total d'elements.

Busca si existeix un element a la llista mitjançant un bucle

El codi Python donat inicialitza una llista anomenadatest_list>amb alguns elements enters. A continuació, itera per cada element de la llista utilitzant afor>bucle. Dins del bucle , comprova si l'element actuali>és igual al valor 4 utilitzant anif>declaració. Si la condició és certa, imprimeix Element Exists a la consola. El codi emetrà el missatge si el número 4 està present a la llista i, en aquest cas, s'imprimirà Element Exists ja que el número 4 existeix a la llista.[1, 6, 3, 5, 3, 4]>.



Python 3
# 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')>

Sortida:

Element Exists>

Complexitat temporal: O(n)
Espai auxiliar: O(1)

Comproveu si existeix un element a la llista utilitzant qualsevol funció ().

Això ho aconsegueix utilitzant el any()>funció amb una expressió generadora. L'expressió del generador itera a través de cada elementtest_list>i comprova si apareix més d'una vegada a la llista. El resultat d'aquesta comprovació s'emmagatzema a la variableresult>. Finalment, el codi imprimeix un missatge que indica si hi ha elements duplicats, mostrant La cadena conté algun element de llista: True si existeixen duplicats i La cadena conté algun element de llista: False si no hi ha duplicats.



Python 3
# 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)))>

Sortida:

Does string contain any list element : True>

Cerqueu si existeix un element a la llista mitjançant la funció count().

Podem utilitzar l'incorporat Llista de Python mètode, count(), per comprovar si l'element passat existeix a la llista. Si l'element passat existeix a la llista, el comptar () El mètode mostrarà el nombre de vegades que apareix a tota la llista. Si és un nombre positiu diferent de zero, vol dir que existeix un element a la llista. Demostració per comprovar l'existència d'elements a la llista utilitzant comptar () .

multiplexació
Python 3
# 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 existeix a la llista') sinó: print('No, 15 no existeix a la llista')>

Sortida:

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

Comproveu si existeix un element a la llista utilitzant sort amb bisect_left i set

Convertint la llista al conjunt i després utilitzant això pot ser més eficient que només utilitzar-lo. Però tenir l'eficiència com a avantatge també té certs negatius. Un d'ells és que l'ordre de la llista no es conserva, i si opteu per fer-ne una nova, haureu d'utilitzar espai addicional. Un altre inconvenient és que el conjunt no permet la duplicitat i, per tant, els elements duplicats s'eliminarien de la llista original. En la forma de cerca binària convencional de provar l'existència d'elements, la llista s'ha d'ordenar primer i, per tant, no conserva l'ordenació dels elements. bisect_esquerra() retorna la primera ocurrència de l'element que s'ha de trobar i ha funcionat de manera similar cota inferior() en C++ STL.

Nota: La funció de bisecte només indicarà la posició d'on inserir l'element, però no els detalls sobre si l'element està present o no.

Demostració per comprovar l'existència d'un element a la llista utilitzant conjunt() + en i ordenar () + bisect_esquerra()

Python 3
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')>

Sortida:

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

Comproveu si existeix un element a la llista mitjançant el mètode find().

El donat Python el codi comprova si el número 15 existeix a la llistatest_list>. Converteix els elements de la llista en cadenes i els concatena amb guions. Aleshores, utilitza el find()>mètode per comprovar si la subcadena 15 existeix a la cadena resultant. Si es troba 15, s'imprimeix Sí, 15 existeix a la llista; en cas contrari, imprimeix No, 15 no existeix a la llista.

Python 3
# 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')>

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

Comproveu si l'element existeix a la llista mitjançant la funció Counter().

El codi Python proporcionat utilitza el Counter> classe de lacollections>mòdul per calcular la freqüència de cada element en eltest_list>. A continuació, comprova si la freqüència del número 15 és superior a 0. Si la freqüència és diferent de zero, vol dir que hi ha 15 a la llista i el codi indica Sí, 15 existeix a la llista. En cas contrari, s'imprimeix No, 15 no existeix a la llista. ElCounter>class compta de manera eficient les ocurrències dels elements, permetent una comprovació senzilla de l'existència.

Python 3
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 existeix a la llista') sinó: print('No, 15 no existeix a la llista')>

Sortida
Yes, 15 exists in list>

Busca si an un L'element existeix a la llista utilitzant el bloc try-except

Un enfocament addicional per comprovar si existeix un element en una llista és utilitzar el índex() mètode. Aquest mètode retorna l'índex de la primera ocurrència de l'element a la llista o llança un ValueError si l'element no està present a la llista. Per utilitzar aquest mètode, podeu embolicar la crida a index() en un bloc try-except per detectar el ValueError i retornar False si es produeix:

Python 3
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>

Sortida
True False>

Complexitat temporal: O(n), on n és la longitud de la llista. El mètode index() itera per la llista per trobar l'element, de manera que la complexitat temporal és lineal.
Complexitat espacial : O(1). Aquest enfocament no requereix cap espai addicional.

Cerqueu si un element existeix a la llista mitjançant la funció filter().

Enfocament pas a pas

  • Definiu la llista my_list i Estableix element_to_check.
  • Utilitzeu la funció filter() per crear un iterador (elements_filtrats) que contingui elements iguals a element_to_check.
  • Converteix l'iterador filtered_elements en una llista.
  • Aquest pas és necessari perquè la funció filter() retorna un iterador. La llista ara conté elements iguals a element_to_check.
  • Comproveu si la llista filtered_list no està buida.
  • Si la llista no està buida, vol dir que l'element existeix a la llista original.
Python
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')>

Sortida
Element exists in the list>

Complexitat temporal: O(n)

Complexitat de l'espai auxiliar: O(n)