Lista este un container important în python, deoarece stochează elementele tuturor tipurilor de date ca o colecție. Cunoașterea anumitor operații de listă sunt necesare pentru programarea de zi cu zi. Acest articol discută una dintre operațiile de bază ale listei de modalități de verificare a existenței unui element în listă.
Metoda 1 : Metoda naivă
În metoda naivă, se folosește cu ușurință o buclă care parcurge toate elementele pentru a verifica existența elementului țintă. Acesta este cel mai simplu mod de a verifica existența elementului în listă.
Metoda 2 : Utilizarea in
Python in
este cel mai convențional mod de a verifica dacă un element există sau nu în listă. Acest mod particular returnează True dacă elementul există în listă și False dacă elementul nu există în listă. Nu este necesar ca lista să fie sortată pentru a practica această abordare de verificare.
Cod #1 : Demonstrarea verificării existenței unui element în listă folosind metoda Naive și 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
Metoda 3 : Utilizarea set()
+ in
Convertirea listei în set și apoi utilizarea în poate fi eventual mai eficientă decât utilizarea doar a in
. Dar faptul de a avea eficiența drept plus are și anumite aspecte negative. Unul dintre ele este faptul că ordinea listei nu este păstrată, iar dacă optați pentru a lua o nouă listă pentru aceasta, veți avea nevoie să folosiți spațiu suplimentar. Un alt dezavantaj este că setul nu permite duplicarea și, prin urmare, elementele duplicate ar fi eliminate din lista originală.
Metoda 4 : Utilizarea sort()
+ bisect_left()
Metoda convențională de căutare binară pentru testarea existenței elementelor, prin urmare, lista trebuie să fie sortată mai întâi și, prin urmare, nu se păstrează ordinea elementelor. returnează prima apariție a elementului care trebuie găsit și are o funcționare similară cu lower_bound() din STL C++.
Codul 2: Demonstrarea verificării existenței unui element în listă folosind set()
+ in
și 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"
)