V programovaní v Pythone má určenie, či je zoznam prázdny, dôležité pre efektívne spracovanie údajov. Tento článok sa ponorí do stručných techník na kontrolu prázdnoty zoznamu, čo umožňuje vývojárom efektívne overiť, či zoznam obsahuje prvky alebo neobsahuje údaje. Prostredníctvom jasných príkladov kódu sa naučte implementovať tieto metódy a posilnite svoju odbornosť Python's správa zoznamu.
Prí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.>
Ako skontrolovať, či je zoznam prázdny v Pythone
- Pomocou len()
- Pomocouimplicitné boolovské hodnoty
- Pomocou Odporúča sa PEP 8 metóda
- Pomocou != operátor
- Pomocou akýkoľvek() funkciu
- Použitím operátor ==
- Použitím skúsiť/okrem
- Použitím Numpy modul
Skontrolujte prázdny zoznam pomocou funkcie len()
Pozrime sa, ako môžeme menej Pythonicky skontrolovať, či je zoznam prázdny alebo nie. Tomuto spôsobu by sme sa mali vyhýbať explicitne kontroluje sekvenciu resp zoznam
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ýkon:
Empty List>
Časová zložitosť: O(n)
Pomocný priestor: O(n), kde n je dĺžka zoznamu
Skontrolujte prázdny zoznam pomocou implicitných boolovských hodnôt
Teraz sa pozrime na viac Pythonic spôsob, ako skontrolovať prázdny zoznam. Tento spôsob kontroly je implicitný spôsob kontroly a pod to je výhodnejšie ako predchádzajúce .
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'>)> |
10 ml až oz
>
>
Výkon:
The list is Empty>
Časová zložitosť: O(n)
Pomocný priestor: O(n), kde n je dĺžka zoznamu
Skontrolujte prázdny zoznam pomocou odporúčanej metódy PEP 8
Toto je ďalšia metóda, ktorá nám umožňuje určiť, či je zoznam v Pythone prázdny. Najpythonickejšia metóda kontroly je uvedená nižšie.
Python3
list1>=> {>'a'>:>1>,>'b'>:>2>,>'c'>:>3>}> list2>=> []> > if> list2:> >print>(>'list is not empty'>)> else>:> >print>(>'list is empty'>)> |
>
>
Výkon:
list is empty>
Časová zložitosť: O(1)
Pomocný priestor: O(1)
Porovnanie daného zoznamu s prázdnym zoznamom pomocou operátora !=
Poskytnutý kód Pythonu skontroluje, či je zoznamlis1>je prázdny alebo nepoužívaif>vyhlásenie. Ak zoznam nie je prázdny, vytlačí sa Zoznam nie je prázdny; v opačnom prípade vytlačí prázdny zoznam. To sa dosiahne porovnaním zoznamu s prázdnym zoznamom pomocou operátora nerovnosti!=>. V tomto konkrétnom prípade, kdelis1>je inicializovaný ako prázdny zoznam, podmienka sa vyhodnotí ako nepravda, výsledkom čoho je výstup Prázdny zoznam.
Python3
# Python code to check for empty list> lis1>=> []> if> lis1!>=>[]:> >print>(>'The list is not empty'>)> else>:> >print>(>'Empty List'>)> |
>
aritmeticko logická jednotka
>Výkon
Empty List>
Porovnanie daného zoznamu s prázdnym zoznamom pomocou operátora ==
Následnéif>vyhlásenie hodnotí, či salis1>sa rovná prázdnemu zoznamu označenému ako[]>. Ak je podmienka pravdivá, čo znamená, že zoznam je skutočne prázdny, program vypíše na konzolu prázdny zoznam. Ak je podmienka nepravdivá, čo znamená, že zoznam nie je prázdny, program namiesto toho vypíše Zoznam nie je prázdny.
Python3
# Python code to check for empty list> lis1>=> []> if> lis1>=>=>[]:> >print>(>'Empty List'>)> else>:> >print>(>'The list is not empty'>)> |
>
>Výkon
Empty List>
Tento prístup má výhodu v tom, že je stručný a ľahko pochopiteľný. Je tiež vo všeobecnosti rýchlejší ako iné prístupy, ktoré zahŕňajú prepínanie prvkov zoznamu.
Skontrolujte prázdny zoznam pomocou skúsiť/okrem
Ak chcete skontrolovať, či je zoznam prázdny alebo nepoužívate try/okrem v Pythone, môžete použiť nasledujúci algoritmus:
Algoritmus:
zapnite java
Inicializujte zoznam. Pokúste sa získať prístup k prvému prvku zoznamu pomocou lst[0]. Ak vyššie uvedený krok vyvolá výnimku IndexError, potom je zoznam prázdny. V opačnom prípade nie je zoznam prázdny. Výnimku spracujte vytlačením prázdneho zoznamu. Tu je implementácia kódu Python vyššie uvedeného algoritmu:
Python3
# Python code to check for empty list> lst>=> []> > try>:> >lst[>0>]> >print>(>'The list is not empty'>)> except> IndexError:> >print>(>'Empty List'>)> |
>
>Výkon
Empty List>
Časová zložitosť: O(1), pretože prístup k prvému prvku zoznamu trvá konštantne.
Pomocný priestor: O(1), pretože na vykonanie tejto operácie nevyužívame žiadny priestor navyše.
Skontrolujte prázdny zoznam pomocou modul Numpy
Príklad 1: Ak máme pole NumPy, potom správnou metódou vo všetkých prípadoch je použiť if .veľkosť . Táto veľkosť skontroluje veľkosť polí a podľa toho vráti hodnotu True alebo False. Prí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'>)> |
inštalácia baterky
>
>
Výkon:
Empty>
Príklad 2 : Tento príklad ukazuje druhý prípad s jedným prvkom 0, ktorý v predchádzajúcich prípadoch zlyhal.
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ýkon:
Not Empty>