Pri programiranju Python je ugotavljanje, ali je seznam prazen, pomembno za učinkovito ravnanje s podatki. Ta članek obravnava jedrnate tehnike za preverjanje praznine seznama, kar razvijalcem omogoča učinkovito preverjanje, ali seznam vsebuje elemente ali je brez podatkov. Z jasnimi primeri kode se naučite implementirati te metode in okrepite svoje znanje Pythonov vodenje seznama.
Primer
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.>
Kako preveriti, ali je seznam prazen v Pythonu
- Uporabljati samo()
- Uporabljatiimplicitne logične vrednosti
- Uporabljati Priporočen PEP 8 metoda
- Uporabljati != operator
- Uporabljati kaj() funkcijo
- Uporaba == operater
- Uporaba poskusi/razen
- Uporaba Modul Numpy
Preverite Prazen seznam z uporabo len()
Poglejmo, kako lahko na manj pitonski način preverimo, ali je seznam prazen ali ne. Temu načinu se moramo izogibati eksplicitno preverjanje zaporedja oz seznam
Python3
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'>)> |
java arraylist
>
>
Izhod:
Empty List>
Časovna zahtevnost: O(n)
Pomožni prostor: O(n), kjer je n dolžina seznama
Preverite prazen seznam z implicitnimi logičnimi vrednostmi
Zdaj pa si oglejmo bolj Pythonic način za preverjanje praznega seznama. Ta metoda preverjanja je implicitna način preverjanja in mor je boljša od prejšnje .
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'>)> |
>
>
Izhod:
The list is Empty>
Časovna zahtevnost: O(n)
Pomožni prostor: O(n), kjer je n dolžina seznama
Preverite prazen seznam s priporočeno metodo PEP 8
To je še ena metoda, ki nam omogoča, da ugotovimo, ali je seznam v Pythonu prazen. Spodaj je prikazan najbolj pitonski način preverjanja istega.
Python3
list1>=> {>'a'>:>1>,>'b'>:>2>,>'c'>:>3>}> list2>=> []> > if> list2:> >print>(>'list is not empty'>)> else>:> >print>(>'list is empty'>)> |
iskalni algoritmi
>
>
Izhod:
list is empty>
Časovna zahtevnost: O(1)
Pomožni prostor: O(1)
Primerjava podanega seznama s praznim seznamom z uporabo operatorja !=
Priložena koda Python preveri, ali seznamlis1>je prazna ali ne uporabljaif>izjava. Če seznam ni prazen, se natisne Seznam ni prazen; drugače natisne prazen seznam. To dosežemo s primerjavo seznama s praznim seznamom z uporabo operatorja neenakosti!=>. V konkretnem primeru, kjelis1>je inicializiran kot prazen seznam, je pogoj ovrednoten kot false, rezultat pa je prazen seznam.
Python3
# Python code to check for empty list> lis1>=> []> if> lis1!>=>[]:> >print>(>'The list is not empty'>)> else>:> >print>(>'Empty List'>)> |
>
>Izhod
Empty List>
Primerjava danega seznama s praznim seznamom z uporabo == operatorja
Naslednjiif>izjava ocenjuje, ali jelis1>je enako praznemu seznamu, označenem z[]>. Če je pogoj resničen, kar pomeni, da je seznam dejansko prazen, program natisne prazen seznam na konzolo. Če je pogoj napačen, kar pomeni, da seznam ni prazen, program namesto tega natisne Seznam ni prazen.
Python3
# Python code to check for empty list> lis1>=> []> if> lis1>=>=>[]:> >print>(>'Empty List'>)> else>:> >print>(>'The list is not empty'>)> |
>
>Izhod
Empty List>
Prednost tega pristopa je, da je jedrnat in lahko razumljiv. Na splošno je tudi hitrejši od drugih pristopov, ki vključujejo kroženje po elementih seznama.
Preverite prazen seznam z poskusi/razen
Če želite preveriti, ali je seznam prazen ali ne uporablja poskusi/razen v Pythonu, lahko uporabite naslednji algoritem:
Algoritem:
Inicializirajte seznam. Poskusite dostopati do prvega elementa seznama z uporabo lst[0]. Če zgornji korak sproži izjemo IndexError, potem je seznam prazen. Sicer pa seznam ni prazen. Izjemo odpravite tako, da natisnete prazen seznam. Tukaj je implementacija kode Python za zgornji algoritem:
Python3
# Python code to check for empty list> lst>=> []> > try>:> >lst[>0>]> >print>(>'The list is not empty'>)> except> IndexError:> >print>(>'Empty List'>)> |
>
>Izhod
Empty List>
Časovna zahtevnost: O(1), ker dostop do prvega elementa seznama traja konstanten čas.
Pomožni prostor: O(1), ker za izvedbo te operacije ne uporabljamo dodatnega prostora.
Preverite prazen seznam z modul Numpy
Primer 1: Če imamo matriko NumPy, je pravilna metoda v vseh primerih uporaba if .velikost . Ta velikost preveri velikost nizov in ustrezno vrne True ali False. primer:
Python3
list.sort java
# 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'>)> |
>
>
Izhod:
Empty>
Primer 2 : Ta primer prikazuje drugi primer z enim samim elementom 0, ki v prejšnjih primerih ni uspel.
Python3
import> numpy> > def> Enquiry(lis1):> >return>(numpy.array(lis1))> > # Driver Code> lis1>=> [>0>, ]> if> Enquiry(lis1).size:> >print>(>'Not Empty'>)> else>:> >print>(>'Empty'>)> |
>
>
Izhod:
Not Empty>