GeeksforGeeks

Lista on tärkeä säiliö pythonissa, koska se tallentaa kaikkien tietotyyppien elementtejä kokoelmana. Tiettyjen listaoperaatioiden tuntemus on välttämätöntä jokapäiväisessä ohjelmoinnissa. Tässä artikkelissa käsitellään yhtä listan perusoperaatioista tapoja tarkistaa elementin olemassaolo listassa.

Menetelmä 1 : Naivistinen menetelmä

Naivistisessa menetelmässä käytetään helposti silmukkaa, joka iteroi kaikkien elementtien läpi tarkistaakseen kohde-elementin olemassaolon. Tämä on yksinkertaisin tapa tarkistaa elementin olemassaolo listassa.

Menetelmä 2 : Käyttämällä in

Python in on perinteisin tapa tarkistaa, onko elementti olemassa listassa vai ei. Tämä tapa palauttaa True-arvon, jos elementti on olemassa luettelossa, ja False-arvon, jos elementtiä ei ole olemassa luettelossa. Listan ei tarvitse olla lajiteltu tämän tarkastustavan käyttämiseksi.
Koodi #1 : Demonstraatio elementin olemassaolon tarkistamisesta luettelossa käyttäen naiivia menetelmää ja 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

Menetelmä 3 : Käyttämällä set() + in

Listan muuntaminen joukoksi ja sen jälkeen käyttäminen in:ssä voi mahdollisesti olla tehokkaampaa kuin pelkkä in käyttö. Mutta sillä, että tehokkuus on plussaa, on myös tiettyjä miinuksia. Yksi niistä on se, että listan järjestys ei säily, ja jos päätät ottaa uuden listan sitä varten, joudut käyttämään ylimääräistä tilaa. Toinen haittapuoli on se, että joukko ei salli päällekkäisyyksiä, joten päällekkäiset elementit poistettaisiin alkuperäisestä luettelosta.

Menetelmä 4 : Käyttämällä sort() + bisect_left()

Tavanomaista binäärihakutapaa elementin olemassaolon testaamiseksi, joten luettelo on lajiteltava ensin, jolloin elementtien järjestys ei säily. bisect_left() palauttaa löydettävän elementin ensimmäisen esiintymän ja toimii samalla tavalla kuin lower_bound() C++ STL:ssä.
Koodi #2 : Demonstraatio elementin olemassaolon tarkistamisesta listassa käyttämällä set() + in ja 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")



Artikkeli Avainsanat :
Practice Tags :

Vastaa

Sähköpostiosoitettasi ei julkaista.