Lista este un container important în Python, deoarece stochează elemente ale tuturor tipurilor de date ca o colecție. Cunoașterea anumitor operațiuni de listă este necesară pentru programarea zilnică. Acest articol discută cel mai rapid mod de a verifica dacă o valoare există într-o listă sau nu este utilizată Piton .
Exemplu
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.>
Verificați dacă un element există într-o listă în Python
- Folosind în Afirmație
- Folosind un buclă
- Folosind orice funcție ().
- Folosind numara() funcţie
- Folosind fel cu bisect_left și a stabilit()
- Folosind găsi() metodă
- Folosind Tejghea() funcţie
- Folosind încercați-cu excepția blocului
Verificați dacă există un element în listă folosind în afirmație
În această metodă, se folosește cu ușurință o buclă care iterează prin toate elementele pentru a verifica existența elementului țintă. Acesta este cel mai simplu mod de a verifica existența elementului din listă. Python este cel mai convențional mod de a verifica dacă un element există sau nu într-o listă. Acest mod special returnează True dacă un element există în listă și False dacă elementul nu există în listă. Lista nu trebuie sortată pentru a practica această abordare a verificării.
șir de intPython3
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')> Ieșire
not exist>
Complexitatea timpului: O(1)
Spațiu auxiliar: O(n), unde n este numărul total de elemente.
Găsiți dacă un element există în listă folosind o buclă
Codul Python dat inițializează o listă numitătest_list>cu unele elemente întregi. Apoi iterează prin fiecare element din listă folosind afor>buclă. În interiorul buclă , verifică dacă elementul curenti>este egală cu valoarea 4 folosind anif>afirmație. Dacă condiția este adevărată, se tipărește Elementele existente pe consolă. Codul va afișa mesajul dacă numărul 4 este prezent în listă, iar în acest caz, Element Exists va fi tipărit deoarece numărul 4 există în listă.[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')> Ieșire:
Element Exists>
Complexitatea timpului: Pe)
Spațiu auxiliar: O(1)
Verificați dacă un element există în listă folosind funcția any().
Acesta realizează acest lucru prin utilizarea any()>funcţie cu o expresie generatoare. Expresia generatorului iterează prin fiecare elementtest_list>și verifică dacă apare de mai multe ori în listă. Rezultatul acestei verificări este stocat în variabilăresult>. În cele din urmă, codul afișează un mesaj care indică dacă există elemente duplicate, afișând Does string contains any list element: True dacă există duplicate și Does string includes any list element: False dacă nu există duplicate.
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)))> Ieșire:
Does string contain any list element : True>
Găsiți dacă un element există în listă folosind funcția count().
Putem folosi cel încorporat Lista Python metoda, count(), pentru a verifica dacă elementul trecut există în Listă. Dacă elementul trecut există în Listă, numara() metoda va arăta de câte ori apare în întreaga listă. Dacă este un număr pozitiv diferit de zero, înseamnă că există un element în listă. Demonstrând pentru a verifica existența elementelor din listă folosind numara() .
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('Da, 15 există în listă') altfel: print('Nu, 15 nu există în listă')> Ieșire:
Checking if 15 exists in list Yes, 15 exists in list>
Verificați dacă un element există în listă folosind sortare cu bisect_left și set
Convertirea listei în set și apoi utilizarea aceasta poate fi mai eficient decât numai folosirea lui. Dar a avea eficiența ca plus are și anumite negative. Una dintre ele este că ordinea listei nu este păstrată, iar dacă optați pentru a lua o nouă listă pentru aceasta, ar trebui să utilizați spațiu suplimentar. Un alt dezavantaj este că setul nu permite duplicitatea și, prin urmare, elementele duplicat ar fi eliminate din lista originală. În modul convențional de căutare binară de testare a existenței elementelor, de aceea lista trebuie sortată mai întâi și, prin urmare, nu păstrează ordonarea elementelor. bisect_left() returnează prima apariție a elementului care trebuie găsit și a funcționat în mod similar limita inferioară() în C++ STL.
Notă: Funcția bisect va indica doar poziția unde să insereze elementul, dar nu și detaliile despre dacă elementul este prezent sau nu.
directorul de creare unix
Demonstrarea verificării existenței unui element în listă folosind a stabilit() + în și fel() + 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')> Ieșire:
Checking if 4 exists in list ( using set() + in) : Element Exists Checking if 4 exists in list ( using sort() + bisect_left() ) : Element Exists>
Verificați dacă un element există în listă folosind metoda find().
A dat Piton codul verifică dacă numărul 15 există în listătest_list>. Convertește elementele listei în șiruri de caractere și le concatenează cu cratime. Apoi, folosește find()>metodă pentru a verifica dacă subșirul 15 există în șirul rezultat. Dacă se găsește 15, se afișează Da, 15 există în listă; în caz contrar, se afișează Nu, 15 nu există în listă.
# 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')> Ieșire
Checking if 15 exists in list Yes, 15 exists in list>
Verificați dacă elementul există în listă folosind funcția Counter().
Codul Python furnizat utilizează Counter> clasa de lacollections>modul pentru a calcula frecvența fiecărui element dintest_list>. Apoi verifică dacă frecvența numărului 15 este mai mare decât 0. Dacă frecvența este diferită de zero, înseamnă că 15 există în listă, iar codul afișează Da, 15 există în listă. În caz contrar, se afișează Nu, 15 nu există în listă. TheCounter>clasa numără eficient aparițiile elementelor, permițând o verificare simplă a existenței.
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('Da, 15 există în listă') else: print('Nu, 15 nu există în listă')> Ieșire
Yes, 15 exists in list>
Găsiți dacă an un elementul există în listă folosind blocul try-except
O abordare suplimentară pentru a verifica dacă un element există într-o listă este folosirea index() metodă. Această metodă returnează indexul primei apariții a elementului din listă sau aruncă o ValueError dacă elementul nu este prezent în listă. Pentru a utiliza această metodă, puteți include apelul la index() într-un bloc try-except pentru a captura ValueError și a returna False dacă apare:
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>
Ieșire
True False>
Complexitatea timpului: O(n), unde n este lungimea listei. Metoda index() iterează prin listă pentru a găsi elementul, astfel încât complexitatea timpului este liniară.
Complexitatea spațială : O(1). Această abordare nu necesită spațiu suplimentar.
Găsiți dacă un element există în listă folosind funcția filter().
Abordare pas cu pas
- Definiți lista my_list și Set element_to_check.
- Utilizați funcția filter() pentru a crea un iterator (filtered_elements) care conține elemente egale cu element_to_check.
- Convertiți iteratorul filtered_elements într-o listă.
- Acest pas este necesar deoarece funcția filter() returnează un iterator. Lista conține acum elemente egale cu element_to_check.
- Verificați dacă lista filtered_list nu este goală.
- Dacă lista nu este goală, înseamnă că elementul există în 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')> Ieșire
Element exists in the list>
Complexitatea timpului: O(n)
Complexitatea spațiului auxiliar: O(n)