logo

Python: comproveu si una llista està buida o no

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

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>