logo

Python – patikrinkite, ar sąrašas tuščias, ar ne

Programuojant Python, norint veiksmingai tvarkyti duomenis, svarbu nustatyti, ar sąrašas tuščias. Šiame straipsnyje apžvelgiami glausti sąrašo tuštumos tikrinimo būdai, leidžiantys kūrėjams veiksmingai patikrinti, ar sąraše yra elementų arba jame nėra duomenų. Per aiškius kodo pavyzdžius sužinokite, kaip įdiegti šiuos metodus ir sustiprinkite savo įgūdžius Python's sąrašo valdymas.

Pavyzdys



  Input:   ['Geeks', 'Geeks', 'Geeks', 'Geeks', ]   Output:   Yes Not Empty   Input:   [ ]   Output:   Empty   Explaination:   In first example the list have elements in it and not empty, in second case the list is empty having no elemnts in it.>

Kaip patikrinti, ar sąrašas tuščias Python

Patikrinkite tuščią sąrašą naudodami len()

Pažiūrėkime, kaip galime patikrinti, ar sąrašas tuščias, ar ne, mažiau pythonic būdu. Turėtume vengti tokio būdo aiškiai tikrinant, ar nėra sekos arba sąrašą

Python3




Pete'o Davidsono amžius





def> Enquiry(lis1):> >if> len>(lis1)>=>=> 0>:> >return> 0> >else>:> >return> 1> > # Driver Code> lis1>=> []> if> Enquiry(lis1):> >print>(>'The list is not empty'>)> else>:> >print>(>'Empty List'>)>

>

>

Išvestis:

Empty List>

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(n), kur n yra sąrašo ilgis

Patikrinkite tuščią sąrašą naudodami numanomus loginius skaičiavimus

Dabar pažiūrėkime į pytoniškesnį būdą patikrinti, ar sąrašas tuščias. Šis tikrinimo metodas yra numanomas patikrinimo būdas ir kt tai yra geriau nei ankstesnis .

Python3




def> Enquiry(lis1):> >if> not> lis1:> >return> 1> >else>:> >return> 0> > # Driver Code> lis1>=> []> if> Enquiry(lis1):> >print>(>'The list is Empty'>)> else>:> >print>(>'The list is not empty'>)>

>

>

Išvestis:

The list is Empty>

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(n), kur n yra sąrašo ilgis

Patikrinkite tuščią sąrašą naudodami PEP 8 rekomenduojamą metodą

Tai dar vienas metodas, leidžiantis nustatyti, ar Python sąrašas tuščias. Žemiau parodytas pats pitoniškiausias to paties tikrinimo būdas.

Python3




list1>=> {>'a'>:>1>,>'b'>:>2>,>'c'>:>3>}> list2>=> []> > if> list2:> >print>(>'list is not empty'>)> else>:> >print>(>'list is empty'>)>

>

>

Išvestis:

list is empty>

Laiko sudėtingumas: O(1)
Pagalbinė erdvė: O(1)

Pateikto sąrašo palyginimas su tuščiu sąrašu, naudojant operatorių !=

Pateiktas Python kodas patikrina, ar sąrašaslis1>yra tuščias arba nenaudojamasif>pareiškimas. Jei sąrašas nėra tuščias, jis spausdinamas Sąrašas nėra tuščias; kitu atveju išspausdinamas tuščias sąrašas. Tai pasiekiama palyginus sąrašą su tuščiu sąrašu, naudojant nelygybės operatorių!=>. Šiuo konkrečiu atveju, kurlis1>inicijuojamas kaip tuščias sąrašas, sąlyga įvertinama kaip klaidinga, todėl gaunamas tuščias sąrašas.

Python3




# Python code to check for empty list> lis1>=> []> if> lis1!>=>[]:> >print>(>'The list is not empty'>)> else>:> >print>(>'Empty List'>)>

>

>

Išvestis

Empty List>

Pateikto sąrašo palyginimas su tuščiu sąrašu naudojant == operatorių

Vėlesnisif>pareiškime įvertinama, arlis1>yra lygus tuščiam sąrašui, pažymėtam[]>. Jei sąlyga teisinga, tai reiškia, kad sąrašas tikrai tuščias, programa konsolėje išspausdina tuščią sąrašą. Jei sąlyga klaidinga, o tai rodo, kad sąrašas nėra tuščias, programa vietoj to išspausdina Sąrašas nėra tuščias.

Python3




# Python code to check for empty list> lis1>=> []> if> lis1>=>=>[]:> >print>(>'Empty List'>)> else>:> >print>(>'The list is not empty'>)>

>

>

Išvestis

Empty List>

Šio požiūrio pranašumas yra tas, kad jis yra glaustas ir lengvai suprantamas. Jis taip pat paprastai yra greitesnis nei kiti metodai, apimantys sąrašo elementų peržiūrą.

Patikrinkite tuščią sąrašą naudodami pabandyti/išskyrus

Norėdami patikrinti, ar sąrašas tuščias, ar nenaudojate try/išskyrus Python, galite naudoti šį algoritmą:

Algoritmas:

Inicijuokite sąrašą. Pabandykite pasiekti pirmąjį sąrašo elementą naudodami lst[0]. Jei aukščiau atliktas veiksmas sukelia IndexError išimtį, sąrašas tuščias. Kitu atveju sąrašas nėra tuščias. Sutvarkykite išimtį išspausdindami tuščią sąrašą. Štai aukščiau pateikto algoritmo Python kodo įgyvendinimas:

Python3




# Python code to check for empty list> lst>=> []> > try>:> >lst[>0>]> >print>(>'The list is not empty'>)> except> IndexError:> >print>(>'Empty List'>)>

>

>

Išvestis

Empty List>

Laiko sudėtingumas: O(1), nes prieiga prie pirmojo sąrašo elemento užtrunka pastoviai.
Pagalbinė erdvė: O(1), nes šiai operacijai atlikti nenaudojame jokios papildomos vietos.

Patikrinkite tuščią sąrašą naudodami Numpy modulis

1 pavyzdys: Jei turime NumPy masyvą, visais atvejais teisingas metodas yra naudoti if .dydis . Šis dydis patikrina masyvų dydį ir atitinkamai grąžina True arba False. Pavyzdys:

Python3




# Numpythonic way to check emptiness> # Use of size> import> numpy> > def> Enquiry(lis1):> >return>(numpy.array(lis1))> > > # Driver Code> lis1>=> []> if> Enquiry(lis1).size:> >print>(>'Not Empty'>)> else>:> >print>(>'Empty'>)>

>

>

Išvestis:

Empty>

2 pavyzdys : Šiame pavyzdyje parodytas kitas atvejis su vienu 0 elementu, kuris ankstesniais atvejais nepavyko.

Python3




import> numpy> > def> Enquiry(lis1):> >return>(numpy.array(lis1))> > # Driver Code> lis1>=> [>0>, ]> if> Enquiry(lis1).size:> >print>(>'Not Empty'>)> else>:> >print>(>'Empty'>)>

>

>

išteklių paskirstymo grafikas

Išvestis:

Not Empty>