Python – Sjekk om en liste er tom eller ikke
I Python-programmering er det viktig å avgjøre om en liste er tom for effektiv datahåndtering. Denne artikkelen fordyper seg i konsise teknikker for å sjekke tomheten til en liste, slik at utviklere effektivt kan validere om en liste inneholder elementer eller er blottet for data. Gjennom klare kodeeksempler, lær hvordan du implementerer disse metodene og styrker dine ferdigheter i Python listebehandling.
Eksempel
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.
Hvordan sjekke om en liste er tom i Python
- Bruker bare()
- Bruker implisitte booleanere
- Bruker PEP 8 anbefales metode
- Bruker != operatør
- Bruker noen() funksjon
- Ved hjelp av == operatør
- Ved hjelp av prøv/unntatt
- Ved hjelp av Numpy modul
Sjekk den tomme listen ved å bruke len()
La oss se hvordan vi kan sjekke om en liste er tom eller ikke, på en mindre pytonisk måte. Vi bør unngå denne måten eksplisitt se etter en sekvens eller liste
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'> )> |
Produksjon:
Empty List
Tidskompleksitet: På)
Ekstra plass: O(n), hvor n er lengden på listen
Sjekk den tomme listen ved å bruke de implisitte booleanerne
La oss nå se en mer pytonisk måte å se etter en tom liste. Denne kontrollmetoden er implisitt måte å sjekke og mor Det er å foretrekke enn den forrige .
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'> )> |
Produksjon:
The list is Empty
Tidskompleksitet: På)
Ekstra plass: O(n), hvor n er lengden på listen
Sjekk den tomme listen ved å bruke den anbefalte metoden PEP 8
Dette er en annen metode som lar oss finne ut om en liste i Python er tom. Den mest pytoniske metoden for å sjekke det samme er vist nedenfor.
Python3
list1> => {> 'a'> :> 1> ,> 'b'> :> 2> ,> 'c'> :> 3> }> list2> => []> > if> list2:> > print> (> 'list is not empty'> )> else> :> > print> (> 'list is empty'> )> |
Produksjon:
list is empty
Tidskompleksitet: O(1)
Ekstra plass: O(1)
Sammenligne en gitt liste med en tom liste ved å bruke !=-operatoren
Den oppgitte Python-koden sjekker om listen lis1> er tom eller bruker ikke en if> uttalelse. Hvis listen ikke er tom, skrives den ut. Listen er ikke tom; ellers skriver den ut tom liste. Dette oppnås ved å sammenligne listen med en tom liste ved å bruke ulikhetsoperatoren !=> . I dette spesifikke tilfellet, hvor lis1> initialiseres som en tom liste, evalueres tilstanden til usann, noe som resulterer i utdataene Empty List.
Python3
# Python code to check for empty list> lis1> => []> if> lis1!> => []:> > print> (> 'The list is not empty'> )> else> :> > print> (> 'Empty List'> )> |
Produksjon
Empty List
Sammenligner gitt liste med tom liste ved å bruke == operator
Den påfølgende if> uttalelse vurderer om lis1> er lik en tom liste, betegnet med []> . Hvis betingelsen er sann, noe som betyr at listen faktisk er tom, skriver programmet ut Empty List til konsollen. Hvis betingelsen er falsk, noe som indikerer at listen ikke er tom, skriver programmet i stedet ut Listen er ikke tom.
Python3
# Python code to check for empty list> lis1> => []> if> lis1> => => []:> > print> (> 'Empty List'> )> else> :> > print> (> 'The list is not empty'> )> |
Produksjon
Empty List
Denne tilnærmingen har fordelen av å være kortfattet og lett å forstå. Det er også generelt raskere enn andre tilnærminger som involverer å gå gjennom elementene i listen.
Sjekk den tomme listen med prøv/unntatt
For å sjekke om en liste er tom eller ikke bruker try/unntatt i Python, kan du bruke følgende algoritme:
Algoritme:
Initialiser listen. Prøv å få tilgang til det første elementet i listen ved å bruke lst[0]. Hvis trinnet ovenfor gir et IndexError-unntak, er listen tom. Ellers er ikke listen tom. Håndter unntaket ved å skrive ut Empty List.Her er Python-kodeimplementeringen av algoritmen ovenfor:
Python3
# Python code to check for empty list> lst> => []> > try> :> > lst[> 0> ]> > print> (> 'The list is not empty'> )> except> IndexError:> > print> (> 'Empty List'> )> |
Produksjon
Empty List
Tidskompleksitet: O(1), siden tilgang til det første elementet i listen tar konstant tid.
Ekstra plass: O(1), siden vi ikke bruker noe ekstra plass til å utføre denne operasjonen.
Sjekk den tomme listen med Numpy-modulen
Eksempel 1: Hvis vi har en NumPy-matrise, er den riktige metoden i alle tilfeller å bruke if .størrelse . Denne størrelsen kontrollerer størrelsen på arrayene og returnerer True eller False tilsvarende. Eksempel:
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'> )> |
Produksjon:
Empty
Eksempel 2 : Dette eksemplet viser den andre saken med et enkelt 0-element, som mislyktes i de forrige tilfellene.
Python3
import> numpy> > def> Enquiry(lis1):> > return> (numpy.array(lis1))> > # Driver Code> lis1> => [> 0> , ]> if> Enquiry(lis1).size:> > print> (> 'Not Empty'> )> else> :> > print> (> 'Empty'> )> |
Produksjon:
Not Empty