logo

Python – Zkontrolujte, zda je seznam prázdný nebo ne

V programování v Pythonu je pro efektivní manipulaci s daty důležité určit, zda je seznam prázdný. Tento článek se ponoří do stručných technik pro kontrolu prázdnoty seznamu, což umožňuje vývojářům efektivně ověřit, zda seznam obsahuje prvky nebo neobsahuje data. Prostřednictvím jasných příkladů kódu se naučte implementovat tyto metody a podpořte svou odbornost Python správa seznamu.

Příklad



  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.>

Jak zkontrolovat, zda je seznam prázdný v Pythonu

Zkontrolujte prázdný seznam pomocí len()

Podívejme se, jak můžeme zkontrolovat, zda je seznam prázdný nebo ne, méně pythonickým způsobem. Tomuto způsobu bychom se měli vyhnout explicitně kontroluje sekvenci resp 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'>)>

>

>

Výstup:

Empty List>

Časová složitost: Na)
Pomocný prostor: O(n), kde n je délka seznamu

Zkontrolujte prázdný seznam pomocí implicitních booleovských hodnot

Nyní se podívejme na více Pythonic způsob, jak zkontrolovat prázdný seznam. Tento způsob kontroly je implicitní způsob kontroly a další to je výhodnější než předchozí .

npm vyčistit mezipaměť

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

>

>

Výstup:

The list is Empty>

Časová složitost: Na)
Pomocný prostor: O(n), kde n je délka seznamu

Zkontrolujte prázdný seznam pomocí doporučené metody PEP 8

Toto je další metoda, která nám umožňuje určit, zda je seznam v Pythonu prázdný. Nejpythoničtější metoda kontroly je uvedena níže.

Python3




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

>

>

Výstup:

list is empty>

Časová složitost: O(1)
Pomocný prostor: O(1)

Porovnání daného seznamu s prázdným seznamem pomocí operátoru !=

Poskytnutý kód Pythonu zkontroluje, zda seznamlis1>je prázdný nebo nepoužíváif>prohlášení. Pokud seznam není prázdný, vytiskne se Seznam není prázdný; jinak vytiskne prázdný seznam. Toho je dosaženo porovnáním seznamu s prázdným seznamem pomocí operátoru nerovnosti!=>. V tomto konkrétním případě, kdelis1>je inicializován jako prázdný seznam, podmínka se vyhodnotí jako nepravda a výsledkem je prázdný seznam.

Python3




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

>

>

Výstup

Empty List>

Porovnání daného seznamu s prázdným seznamem pomocí operátoru ==

Následujícíif>výrok hodnotí, zdalis1>se rovná prázdnému seznamu označenému[]>. Pokud je podmínka pravdivá, což znamená, že seznam je skutečně prázdný, program vypíše na konzoli prázdný seznam. Pokud je podmínka nepravdivá, což znamená, že seznam není prázdný, program místo toho vypíše Seznam není prázdný.

Python3




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

jak inicializovat pole v Javě
>

>

Výstup

Empty List>

Tento přístup má výhodu v tom, že je stručný a snadno pochopitelný. Je také obecně rychlejší než jiné přístupy, které zahrnují procházení prvků seznamu.

Zkontrolujte prázdný seznam pomocí zkusit/kromě

Chcete-li zkontrolovat, zda je seznam prázdný nebo zda nepoužíváte try/kromě v Pythonu, můžete použít následující algoritmus:

Algoritmus:

Inicializujte seznam. Pokuste se získat přístup k prvnímu prvku seznamu pomocí lst[0]. Pokud výše uvedený krok vyvolá výjimku IndexError, pak je seznam prázdný. Jinak není seznam prázdný. Ošetřete výjimku vytištěním prázdného seznamu. Zde je implementace kódu Python pro výše uvedený algoritmus:

Python3




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

>

>

Výstup

Empty List>

Časová složitost: O(1), protože přístup k prvnímu prvku seznamu trvá konstantní čas.
Pomocný prostor: O(1), protože k provedení této operace nepoužíváme žádný prostor navíc.

Zkontrolujte prázdný seznam pomocí modul Numpy

Příklad 1: Pokud máme pole NumPy, pak správnou metodou ve všech případech je použít if .velikost . Tato velikost zkontroluje velikost polí a podle toho vrátí hodnotu True nebo False. Příklad:

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

>

>

Výstup:

Empty>

Příklad 2 : Tento příklad ukazuje druhý případ s jedním prvkem 0, který selhal v předchozích případech.

Python3




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

>

>

Výstup:

Not Empty>