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