logo

Sjekk om elementet finnes i listen i Python

Listen er en viktig beholder i Python ettersom den lagrer elementer av alle datatypene som en samling. Kunnskap om visse listeoperasjoner er nødvendig for dag-dag programmering. Denne artikkelen diskuterer den raskeste måten å sjekke om en verdi finnes i en liste eller ikke Python .

Eksempel



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

Sjekk om et element finnes i en liste i Python

Sjekk om et element finnes i listen ved å bruke i uttalelse

I denne metoden bruker man enkelt en loop som itererer gjennom alle elementene for å sjekke eksistensen av målelementet. Dette er den enkleste måten å sjekke eksistensen av elementet i listen. Python er den mest konvensjonelle måten å sjekke om et element finnes i en liste eller ikke. Denne spesielle måten returnerer True hvis et element finnes i listen og False hvis elementet ikke finnes i listen. Listen trenger ikke sorteres for å praktisere denne tilnærmingen til kontroll.

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

Produksjon
not exist>

Tidskompleksitet: O(1)
Hjelpeplass: O(n), hvor n er det totale antallet elementer.

2 til 1 multiplekser

Finn om et element finnes i listen ved hjelp av en løkke

Den gitte Python-koden initialiserer en liste med navntest_list>med noen heltallselementer. Den itererer deretter gjennom hvert element i listen ved å bruke enfor>Løkke. Inne i Løkke , sjekker den om det gjeldende elementeti>er lik verdien 4 ved å bruke anif>uttalelse. Hvis betingelsen er sann, skriver den ut Element Exists til konsollen. Koden vil sende ut meldingen hvis tallet 4 er til stede i listen, og i dette tilfellet vil Element Exists bli skrevet ut siden tallet 4 finnes i listen[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')>

Produksjon:

Element Exists>

Tidskompleksitet: På)
Hjelpeplass: O(1)

Sjekk om et element finnes i listen ved å bruke en hvilken som helst() funksjon

Den oppnår dette ved å bruke any()>funksjon med et generatoruttrykk. Generatoruttrykket itererer gjennom hvert elementtest_list>og sjekker om den vises mer enn én gang i listen. Resultatet av denne sjekken lagres i variabelenresult>. Til slutt skriver koden ut en melding som indikerer om det er noen dupliserte elementer, og viser Inneholder strengen et listeelement: Sant hvis duplikater eksisterer og Inneholder strengen et listeelement: False hvis det ikke er noen duplikater.



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

Produksjon:

Does string contain any list element : True>

Finn om et element finnes i listen ved å bruke count()-funksjonen

Vi kan bruke den innebygde Python-liste metode, count(), for å sjekke om det beståtte elementet finnes i listen. Hvis det beståtte elementet finnes i listen, vil telle() metoden vil vise antall ganger den forekommer i hele listen. Hvis det er et positivt tall som ikke er null, betyr det at det finnes et element i listen. Demonstrerer for å sjekke eksistensen av elementer i listen ved å bruke telle() .

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('Ja, 15 finnes i listen') else: print('Nei, 15 finnes ikke i listen')>

Produksjon:

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

Sjekk om et element finnes i listen ved å bruke sorter med bisect_left og set

Konvertere listen til settet og deretter bruke den kan muligens være mer effektivt enn å bare bruke det. Men å ha effektivitet som et pluss har også visse negative sider. En av dem er at rekkefølgen på listen ikke er bevart, og hvis du velger å ta en ny liste for den, må du bruke ekstra plass. En annen ulempe er at sett ikke tillater duplisitet, og dupliserte elementer vil derfor bli fjernet fra den opprinnelige listen. I den konvensjonelle binære søkemetoden for å teste eksistensen av elementer, må listen derfor sorteres først og bevarer derfor ikke elementrekkefølgen. bisect_left() returnerer den første forekomsten av elementet som skal finnes og har fungert på samme måte som nedre_grense() i C++ STL.

np prikk

Merk: Halveringsfunksjonen vil kun angi posisjonen til hvor elementet skal settes inn, men ikke detaljene om elementet er til stede eller ikke.

Demonstrerer for å sjekke eksistensen av element i listen ved hjelp av sett() + i og sortere() + 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')>

Produksjon:

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

Sjekk om et element finnes i listen ved å bruke find()-metoden

Det gitte Python kode sjekker om tallet 15 finnes i listentest_list>. Den konverterer elementene i listen til strenger og setter dem sammen med bindestreker. Deretter bruker den find()>metode for å sjekke om delstrengen 15 finnes i den resulterende strengen. Hvis 15 blir funnet, skrives det ut Ja, 15 finnes i listen; ellers skrives det ut Nei, 15 finnes ikke i listen.

Python3
# 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')>

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

Sjekk om elementet finnes i listen ved å bruke Counter()-funksjonen

Den oppgitte Python-koden bruker Counter> klasse fracollections>modul for å beregne frekvensen til hvert element itest_list>. Den sjekker deretter om frekvensen til tallet 15 er større enn 0. Hvis frekvensen ikke er null, betyr det at 15 finnes i listen, og koden skrives ut Ja, 15 finnes i listen. Ellers skrives det ut Nei, 15 finnes ikke i listen. DeCounter>klasse teller effektivt elementforekomster, noe som muliggjør en enkel eksistenssjekk.

Python3
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('Ja, 15 finnes i listen') else: print('Nei, 15 finnes ikke i listen')>

Produksjon
Yes, 15 exists in list>

Finn om en an element eksisterer i listen ved hjelp av try-except blokk

En ekstra tilnærming for å sjekke om et element finnes i en liste er å bruke indeks() metode. Denne metoden returnerer indeksen for den første forekomsten av elementet i listen eller kaster en ValueError hvis elementet ikke er til stede i listen. For å bruke denne metoden kan du pakke kallet til index() i en try-except-blokk for å fange ValueError og returnere False hvis den oppstår:

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>

Produksjon
True False>

Tidskompleksitet: O(n), hvor n er lengden på listen. index()-metoden itererer gjennom listen for å finne elementet, så tidskompleksiteten er lineær.
Romkompleksitet :O(1). Denne tilnærmingen krever ikke ekstra plass.

Finn om et element finnes i listen ved å bruke filter()-funksjonen

Steg-for-trinn tilnærming

  • Definer listen min_liste og Sett element_to_check.
  • Bruk filter()-funksjonen til å lage en iterator (filtered_elements) som inneholder elementer som er lik element_to_check.
  • Konverter iteratoren filtered_elements til en liste.
  • Dette trinnet er nødvendig siden filter()-funksjonen returnerer en iterator. Listen inneholder nå elementer lik element_to_check.
  • Sjekk om listen filtered_list ikke er tom.
  • Hvis listen ikke er tom, betyr det at elementet finnes i den opprinnelige listen.
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')>

Produksjon
Element exists in the list>

Tidskompleksitet: O(n)

Ekstra romkompleksitet: O(n)