A la programació Python, determinar si una llista està buida té importància per a un maneig efectiu de les dades. Aquest article aprofundeix en tècniques concises per comprovar el buit d'una llista, la qual cosa permet als desenvolupadors validar de manera eficient si una llista conté elements o no té dades. A través d'exemples de codi clars, apreneu a implementar aquests mètodes i milloreu la vostra competència de Python gestió de llistes.
Exemple
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.>
Com comprovar si una llista està buida a Python
- Utilitzant el només ()
- Utilitzant elbooleans implícits
- Utilitzant el Recomanat PEP 8 mètode
- Utilitzant el != operador
- Utilitzant el cap() funció
- Utilitzant == operador
- Utilitzant provar/excepte
- Utilitzant Mòdul Numpy
Comproveu la llista buida amb len()
Vegem com podem comprovar si una llista està buida o no, d'una manera menys pitònica. Hem d'evitar aquesta manera de comprovant explícitament una seqüència o llista
Python 3
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'>)> |
>
>
Sortida:
Empty List>
Complexitat temporal: O(n)
Espai auxiliar: O(n), on n és la longitud de la llista
Comproveu la llista buida utilitzant els booleans implícits
Ara vegem una manera més Pythonic de comprovar si hi ha una llista buida. Aquest mètode de comprovació és implícit manera de comprovar i mor És preferible que l'anterior .
Python 3
comparació de cadena java
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'>)> |
>
>
Sortida:
The list is Empty>
Complexitat temporal: O(n)
Espai auxiliar: O(n), on n és la longitud de la llista
Comproveu la llista buida utilitzant el mètode recomanat PEP 8
Aquest és un altre mètode que ens permet determinar si una llista en Python està buida. A continuació es mostra el mètode més Pythonic per comprovar-ho.
Python 3
list1>=> {>'a'>:>1>,>'b'>:>2>,>'c'>:>3>}> list2>=> []> > if> list2:> >print>(>'list is not empty'>)> else>:> >print>(>'list is empty'>)> |
>
>
Sortida:
list is empty>
Complexitat temporal: O(1)
Espai auxiliar: O(1)
Comparació d'una llista determinada amb una llista buida mitjançant l'operador !=
El codi Python proporcionat comprova si la llistalis1>està buit o no utilitza unif>declaració. Si la llista no està buida, s'imprimeix La llista no està buida; en cas contrari, imprimeix la llista buida. Això s'aconsegueix comparant la llista amb una llista buida mitjançant l'operador de desigualtat!=>. En aquest cas concret, onlis1>s'inicialitza com una llista buida, la condició s'avalua com a falsa, donant lloc a la sortida Llista buida.
Python 3
primer ordinador portàtil
# Python code to check for empty list> lis1>=> []> if> lis1!>=>[]:> >print>(>'The list is not empty'>)> else>:> >print>(>'Empty List'>)> |
>
>Sortida
Empty List>
Comparació de la llista donada amb la llista buida mitjançant l'operador ==
El posteriorif>declaració avalua si ellis1>és igual a una llista buida, denotada per[]>. Si la condició és certa, és a dir, la llista està buida, el programa imprimeix la llista buida a la consola. Si la condició és falsa, indicant que la llista no està buida, el programa imprimeix La llista no està buida.
Python 3
# Python code to check for empty list> lis1>=> []> if> lis1>=>=>[]:> >print>(>'Empty List'>)> else>:> >print>(>'The list is not empty'>)> |
>
>Sortida
Empty List>
Aquest enfocament té l'avantatge de ser concís i fàcil d'entendre. També és generalment més ràpid que altres enfocaments que impliquen recórrer els elements de la llista.
Comproveu la llista buida utilitzant provar/excepte
Per comprovar si una llista està buida o no utilitza try/except a Python, podeu utilitzar el següent algorisme:
Algorisme:
Inicialitzar la llista. Intenta accedir al primer element de la llista amb lst[0]. Si el pas anterior genera una excepció IndexError, la llista està buida. En cas contrari, la llista no està buida. Gestioneu l'excepció imprimint una llista buida. Aquí teniu la implementació del codi Python de l'algorisme anterior:
Python 3
# Python code to check for empty list> lst>=> []> > try>:> >lst[>0>]> >print>(>'The list is not empty'>)> except> IndexError:> >print>(>'Empty List'>)> |
>
>Sortida
Empty List>
Complexitat temporal: O(1), ja que accedir al primer element de la llista requereix un temps constant.
Espai auxiliar: O(1), ja que no estem utilitzant cap espai addicional per realitzar aquesta operació.
Comproveu la llista buida amb el mòdul Numpy
Exemple 1: Si tenim una matriu NumPy, el mètode correcte en tots els casos és utilitzar if .mida . Aquesta mida comprova la mida de les matrius i retorna True o False en conseqüència. Exemple:
Python 3
Trobeu el meu iphone des d'Android
# 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'>)> |
>
>
Sortida:
Empty>
Exemple 2 : Aquest exemple mostra l'altre cas amb un sol element 0, que va fallar en els casos anteriors.
Python 3
import> numpy> > def> Enquiry(lis1):> >return>(numpy.array(lis1))> > # Driver Code> lis1>=> [>0>, ]> if> Enquiry(lis1).size:> >print>(>'Not Empty'>)> else>:> >print>(>'Empty'>)> |
>
>
Sortida:
Not Empty>