List è un importante contenitore in python, poiché memorizza elementi di tutti i tipi di dati come una collezione. La conoscenza di certe operazioni di lista è necessaria per la programmazione giornaliera. Questo articolo discute una delle operazioni di base della lista di modi per controllare l’esistenza di un elemento nella lista.
Metodo 1: Metodo ingenuo
Nel metodo ingenuo, si usa facilmente un ciclo che itera attraverso tutti gli elementi per controllare l’esistenza dell’elemento di destinazione. Questo è il modo più semplice per controllare l’esistenza dell’elemento nella lista.
Metodo 2: Usare in
Python in è il modo più convenzionale per controllare se un elemento esiste o no nella lista. Questo particolare modo restituisce True se l’elemento esiste nella lista e False se l’elemento non esiste nella lista. La lista non ha bisogno di essere ordinata per praticare questo approccio di controllo.
Codice #1 : Dimostrazione per controllare l’esistenza di un elemento nella lista usando il metodo Naive e in
test_list = print("Checking if 4 exists in list ( using loop ) : ") for i in test_list: if(i == 4) : print ("Element Exists") print("Checking if 4 exists in list ( using in ) : ") if (4 in test_list): print ("Element Exists") Output :
Checking if 4 exists in list ( using loop ) : Element ExistsChecking if 4 exists in list ( using in ) : Element Exists
Metodo 3: Usare set() + in
Convertire la lista in set e poi usare in può essere più efficiente che usare solo in. Ma avere l’efficienza come vantaggio ha anche alcuni lati negativi. Uno di questi è che l’ordine della lista non è conservato, e se si sceglie di prendere una nuova lista per essa, si richiederebbe di usare spazio extra. Un altro svantaggio è che il set non permette la duplicazione e quindi gli elementi duplicati verrebbero rimossi dalla lista originale.
Metodo 4 : Usando sort() + bisect_left()
Il modo convenzionale di ricerca binaria per verificare l’esistenza dell’elemento, quindi la lista deve essere ordinata per prima e quindi non conserva l’ordine degli elementi. bisect_left() restituisce la prima occorrenza dell’elemento da trovare e ha un funzionamento simile a lower_bound() in C++ STL.
Codice #2 : Dimostrazione dell’esistenza di un elemento nella lista usando set() + in e sort() + bisect_left().
from bisect import bisect_left test_list_set = test_list_bisect = print("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() ) : ") test_list_bisect.sort() if bisect_left(test_list_bisect, 4): print ("Element Exists")