logo

Controlla se l'elemento esiste nell'elenco in Python

L'elenco è un contenitore importante in Python poiché memorizza gli elementi di tutti i tipi di dati come raccolta. Per la programmazione giornaliera è necessaria la conoscenza di alcune operazioni delle liste. Questo articolo illustra il modo più veloce per verificare se un valore esiste in un elenco o non lo utilizza Pitone .

Esempio



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

Controlla se un elemento esiste in un elenco in Python

Controlla se un elemento esiste nell'elenco utilizzando il file In dichiarazione

In questo metodo, si utilizza facilmente un ciclo che scorre tutti gli elementi per verificare l'esistenza dell'elemento di destinazione. Questo è il modo più semplice per verificare l'esistenza dell'elemento nell'elenco. Python è il modo più convenzionale per verificare se un elemento esiste o meno in una lista. Questo modo particolare restituisce True se un elemento esiste nella lista e False se l'elemento non esiste nella lista. Non è necessario ordinare l'elenco per mettere in pratica questo approccio di controllo.

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

Produzione
not exist>

Complessità temporale: O(1)
Spazio ausiliario: O(n), dove n è il numero totale di elementi.

Trova se un elemento esiste nell'elenco utilizzando un ciclo

Il codice Python specificato inizializza un elenco denominatotest_list>con alcuni elementi interi. Quindi scorre ciascun elemento nell'elenco utilizzando afor>ciclo continuo. Dentro il ciclo continuo , controlla se l'elemento correntei>è uguale al valore 4 utilizzando anif>dichiarazione. Se la condizione è vera, stampa Element Exists sulla console. Il codice genererà il messaggio se il numero 4 è presente nell'elenco e in questo caso verrà stampato Element Exists poiché il numero 4 esiste nell'elenco[1, 6, 3, 5, 3, 4]>.



convertire la stringa in carattere
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')>

Produzione:

Element Exists>

Complessità temporale: SU)
Spazio ausiliario: O(1)

Controlla se esiste un elemento nell'elenco utilizzando la funzione any()

Raggiunge questo obiettivo utilizzando il any()>funzione con un'espressione generatrice. L'espressione del generatore scorre ogni elementotest_list>e controlla se appare più di una volta nell'elenco. Il risultato di questo controllo viene memorizzato nella variabileresult>. Infine, il codice stampa un messaggio che indica se sono presenti elementi duplicati, visualizzando La stringa contiene qualsiasi elemento della lista: True se esistono duplicati e La stringa contiene qualsiasi elemento della lista: False se non ci sono duplicati.



esportare gimp in formato jpg
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)))>

Produzione:

Does string contain any list element : True>

Scopri se esiste un elemento nell'elenco utilizzando la funzione count()

Possiamo usare l'in-built Elenco Python metodo, count(), per verificare se l'elemento passato esiste nell'elenco. Se l'elemento passato esiste nella Lista, il contare() mostrerà il numero di volte in cui si verifica nell'intero elenco. Se è un numero positivo diverso da zero, significa che un elemento esiste nella Lista. Dimostrare di verificare l'esistenza di elementi nell'elenco utilizzando contare() .

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 esiste nella lista') else: print('No, 15 non esiste nella lista')>

Produzione:

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

Controlla se esiste un elemento nell'elenco utilizzando sort con bisect_left e set

Conversione dell'elenco nel set e quindi utilizzo Esso può forse essere più efficiente del semplice utilizzo. Ma avere l’efficienza come vantaggio comporta anche alcuni aspetti negativi. Uno di questi è che l'ordine dell'elenco non viene mantenuto e, se si sceglie di creare un nuovo elenco, sarà necessario utilizzare spazio aggiuntivo. Un altro svantaggio è che set non consente la duplicità e quindi gli elementi duplicati verrebbero rimossi dall'elenco originale. Nel metodo di ricerca binaria convenzionale per testare l'esistenza degli elementi, quindi la lista deve essere ordinata per prima e quindi non preserva l'ordinamento degli elementi. bisect_left() restituisce la prima occorrenza dell'elemento da trovare e ha funzionato in modo simile a limite inferiore() in C++STL.

Nota: La funzione bisect indicherà solo la posizione in cui inserire l'elemento ma non i dettagli sulla presenza o meno dell'elemento.

Dimostrazione per verificare l'esistenza dell'elemento nell'elenco utilizzando impostato() + dentro e ordinare() + 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')>

Produzione:

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

Controlla se un elemento esiste nell'elenco utilizzando il metodo find()

Il dato Pitone il codice controlla se il numero 15 esiste nell'elencotest_list>. Converte gli elementi dell'elenco in stringhe e li concatena con trattini. Quindi, utilizza il find()>metodo per verificare se la sottostringa 15 esiste nella stringa risultante. Se viene trovato 15, viene stampato Sì, 15 esiste nell'elenco; altrimenti stampa No, 15 non esiste nell'elenco.

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

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

Controlla se l'elemento esiste nell'elenco utilizzando la funzione Counter()

Il codice Python fornito utilizza il file Counter> classe dacollections>modulo per calcolare la frequenza di ciascun elemento neltest_list>. Quindi controlla se la frequenza del numero 15 è maggiore di 0. Se la frequenza è diversa da zero, significa che 15 esiste nell'elenco e il codice stampa Sì, 15 esiste nell'elenco. Altrimenti stampa No, 15 non esiste nell'elenco. ILCounter>La classe conta in modo efficiente le occorrenze degli elementi, consentendo un controllo diretto dell'esistenza.

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('Sì, 15 esiste nella lista') else: print('No, 15 non esiste nella lista')>

Produzione
Yes, 15 exists in list>

Trova se un UN l'elemento esiste nell'elenco utilizzando il blocco try-eccetto

Un ulteriore approccio per verificare se un elemento esiste in un elenco consiste nell'utilizzare il metodo indice() metodo. Questo metodo restituisce l'indice della prima occorrenza dell'elemento nell'elenco o genera un ValueError se l'elemento non è presente nell'elenco. Per utilizzare questo metodo, puoi racchiudere la chiamata a index() in un blocco try-eccetto per rilevare ValueError e restituire False se si verifica:

Java legge il file CSV
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>

Produzione
True False>

Complessità temporale: O(n), dove n è la lunghezza dell'elenco. Il metodo index() scorre l'elenco per trovare l'elemento, quindi la complessità temporale è lineare.
Complessità spaziale : O(1). Questo approccio non richiede spazio aggiuntivo.

Scopri se esiste un elemento nell'elenco utilizzando la funzione filter()

Approccio graduale

  • Definisci l'elenco my_list e Imposta element_to_check.
  • Utilizzare la funzione filter() per creare un iteratore (filtered_elements) che contiene elementi uguali a element_to_check.
  • Converti l'iteratore filtered_elements in un elenco.
  • Questo passaggio è necessario poiché la funzione filter() restituisce un iteratore. L'elenco ora contiene elementi uguali a element_to_check.
  • Controlla se l'elenco filtered_list non è vuoto.
  • Se l'elenco non è vuoto, significa che l'elemento esiste nell'elenco originale.
Pitone
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')>

Produzione
Element exists in the list>

Complessità temporale: O(n)

Complessità dello spazio ausiliario: O(n)