logo

Python – Controleer of een lijst leeg is of niet

Bij het programmeren in Python is het bepalen of een lijst leeg is van belang voor een effectieve gegevensverwerking. Dit artikel gaat in op beknopte technieken voor het controleren van de leegheid van een lijst, waardoor ontwikkelaars efficiënt kunnen valideren of een lijst elementen bevat of geen gegevens bevat. Leer aan de hand van duidelijke codevoorbeelden hoe u deze methoden kunt implementeren en uw vaardigheid kunt vergroten Python's lijstbeheer.

Voorbeeld



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

Hoe u kunt controleren of een lijst leeg is in Python

Controleer de lege lijst met len()

Laten we eens kijken hoe we op een minder Pythonische manier kunnen controleren of een lijst leeg is of niet. Deze manier van doen moeten we vermijden expliciet controleren op een reeks of lijst

Python3




tekenreeks naar int





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

>

>

Uitgang:

Empty List>

Tijdcomplexiteit: Op)
Hulpruimte: O(n), waarbij n de lengte van de lijst is

Controleer de lege lijst met behulp van de impliciete Booleans

Laten we nu eens een meer Pythonische manier bekijken om te controleren op een lege lijst. Deze controlemethode is impliciet manier van controleren en meer Het is liever dan de vorige .

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

>

>

Uitgang:

The list is Empty>

Tijdcomplexiteit: Op)
Hulpruimte: O(n), waarbij n de lengte van de lijst is

Controleer de lege lijst met behulp van de door PEP 8 aanbevolen methode

Dit is een andere methode waarmee we kunnen bepalen of een lijst in Python leeg is. De meest Pythonische methode om hetzelfde te controleren wordt hieronder weergegeven.

Python3




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

>

>

Uitgang:

list is empty>

Tijdcomplexiteit: O(1)
Hulpruimte: O(1)

Een gegeven lijst vergelijken met een lege lijst met behulp van de != operator

De meegeleverde Python-code controleert of de lijstlis1>is leeg of gebruikt geenif>stelling. Als de lijst niet leeg is, wordt deze afgedrukt. De lijst is niet leeg; anders wordt een lege lijst afgedrukt. Dit wordt bereikt door de lijst te vergelijken met een lege lijst met behulp van de ongelijkheidsoperator!=>. In dit specifieke geval, waarlis1>wordt geïnitialiseerd als een lege lijst, wordt de voorwaarde geëvalueerd als false, wat resulteert in de uitvoer Lege lijst.

Python3




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

>

>

Uitvoer

Empty List>

Gegeven lijst vergelijken met lege lijst met behulp van de operator ==

De daaropvolgendeif>verklaring beoordeelt of delis1>is gelijk aan een lege lijst, aangegeven met[]>. Als de voorwaarde waar is, wat betekent dat de lijst inderdaad leeg is, drukt het programma de Lege Lijst af op de console. Als de voorwaarde onwaar is, wat aangeeft dat de lijst niet leeg is, drukt het programma in plaats daarvan De lijst is niet leeg af.

Python3




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

>

>

Uitvoer

Empty List>

Deze aanpak heeft het voordeel dat deze beknopt en gemakkelijk te begrijpen is. Het is over het algemeen ook sneller dan andere benaderingen waarbij u de elementen van de lijst doorloopt.

Controleer de lege lijst met proberen/behalve

Om te controleren of een lijst leeg is of geen try/except gebruikt in Python, kun je het volgende algoritme gebruiken:

Algoritme:

Initialiseer de lijst. Probeer toegang te krijgen tot het eerste element van de lijst met lst[0]. Als de bovenstaande stap een IndexError-uitzondering oplevert, is de lijst leeg. Anders is de lijst niet leeg. Behandel de uitzondering door een lege lijst af te drukken. Hier is de Python-code-implementatie van het bovenstaande algoritme:

Python3




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

>

>

Uitvoer

Empty List>

Tijdcomplexiteit: O(1), omdat toegang tot het eerste element van de lijst constante tijd kost.
Hulpruimte: O(1), omdat we geen extra ruimte gebruiken om deze bewerking uit te voeren.

Controleer de lege lijst met de Numpy-module

Voorbeeld 1: Als we een NumPy-array hebben, is de juiste methode in alle gevallen het gebruik van if .maat . Deze grootte controleert de grootte van de arrays en retourneert dienovereenkomstig True of False. Voorbeeld:

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

>

>

Uitgang:

Empty>

Voorbeeld 2 : Dit voorbeeld toont het andere geval met een enkel 0-element, dat in de vorige gevallen mislukte.

Python3




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

>

>

amplitudemodulatie

Uitgang:

Not Empty>