Python Empty List Tutorial - Hvordan lage en tom liste i Python

Hvis du vil lære hvordan du oppretter en tom liste i Python effektivt, så er denne artikkelen noe for deg.

Du vil lære:

  • Hvordan lage en tom liste ved hjelp av firkantede parenteser [].
  • Hvordan lage en tom liste ved hjelp av list().
  • Deres brukstilfeller.
  • Hvor effektive de er (den ene er raskere enn den andre!). Vi vil bruke timeitmodulen til å sammenligne dem.

La oss begynne! ✨

? Bruke firkantede braketter

Du kan opprette en tom liste med et tomt par firkantede parenteser, slik:  

? Tips: Vi tilordner den tomme listen til en variabel for å bruke den senere i programmet vårt.

For eksempel:

num = []

Den tomme listen vil ha lengde 0, som du kan se her:

>>> num = [] >>> len(num) 0

Tomme lister er falske verdier, noe som betyr at de evalueres Falsei boolsk sammenheng:

>>> num = [] >>> bool(num) False

Legg til elementer i en tom liste

Du kan legge til elementer i en tom liste ved hjelp av metodene append()og insert():

  • append() legger til elementet på slutten av listen.
  • insert() legger til elementet i den bestemte indeksen i listen du velger.

Siden lister enten kan være sanne eller falske verdier, avhengig av om de er tomme eller ikke når de blir evaluert, kan du bruke dem i betingelser som dette:

if num: print("This list is not empty") else: print("This list is empty")

Resultatet av denne koden er:

This list is empty

Fordi listen var tom, så vurderes den til False.

Generelt:

  • Hvis listen ikke er tom, evalueres den til True, så if-klausulen kjøres.
  • Hvis listen er tom, evalueres den til False, så den andre paragrafen blir utført.

Eksempel:

I eksemplet nedenfor lager vi en tom liste og tilordner den til variabelen num. Deretter legger vi en for-loop til en sekvens av elementer (heltall) til listen som opprinnelig var tom:

>>> num = [] >>> for i in range(3, 15, 2): num.append(i)

Vi sjekker verdien på variabelen for å se om elementene ble lagt til og bekrefter at listen ikke er tom lenger:  

>>> num [3, 5, 7, 9, 11, 13]

? Tips: Vi bruker ofte append()å legge til det første elementet i en tom liste, men du kan også legge til dette elementet og kalle insert()metoden med indeks 0:

>>> num = [] >>> num.insert(0, 1.5) # add the float 1.5 at index 0 >>> num [1.5]

? Bruke listen () Constructor

Alternativt kan du opprette en tom liste med typekonstruktøren list(), som oppretter et nytt listeobjekt.

I følge Python-dokumentasjonen:

Hvis ingen argument er gitt, skaper konstruktøren en ny tom liste, [].

? Tips: Dette skaper et nytt listeobjekt i minnet, og siden vi ikke sendte noen argumenter til list(), vil det opprettes en tom liste.

For eksempel:

num = list()

Denne tomme listen vil ha lengde 0, som du kan se her:

>>> num = list() >>> len(num) 0

Og det er en falsk verdi når den er tom (den evalueres Falsei boolsk sammenheng):

>>> num = list() >>> bool(num) False

Eksempel:

Dette er en fullt funksjonell liste, slik at vi kan legge til elementer i den:

>>> num = list() >>> for i in range(3, 15, 2): num.append(i)

Og resultatet blir en ikke-tom liste, som du kan se her:

>>> num [3, 5, 7, 9, 11, 13]

? Bruk tilfeller

  • Vi bruker vanligvis list()til å lage lister fra eksisterende iterables som strenger, ordbøker eller tupler.
  • Du vil ofte se firkantede parenteser []som brukes til å lage tomme lister i Python fordi denne syntaksen er mer kortfattet og raskere.

? Effektivitet

Vente! Jeg sa nettopp at det []er raskere enn list()...

Men hvor mye raskere?

La oss sjekke tidseffektiviteten deres ved hjelp av timeit- modulen.

For å bruke denne modulen i Python-programmet, må du importere den:

>>> import timeit

Spesielt vil vi bruke timeit-funksjonen fra denne modulen, som du kan ringe med denne syntaksen:

? Tips: Koden gjentas flere ganger for å redusere tidsforskjeller som kan oppstå fra eksterne faktorer som andre prosesser som kan kjøre akkurat det øyeblikket. Dette gjør resultatene mer pålitelige for sammenligningsformål.

På merkene dine ... gjør deg klar ... klar! Her er koden og utgangen:

Først importerer vi modulen.

>>> import timeit

Deretter begynner vi å teste hver syntaks.

Testing []:

>>> timeit.timeit('[]', number=10**4) 0.0008467000000109692

Testing list():

>>> timeit.timeit('list()', number=10**4) 0.002867799999989984

? Tips: Legg merke til at koden du vil tidsbestemme, må være omgitt av enkle anførselstegn ''eller doble anførselstegn "". Tiden som returneres av timeitfunksjonen, uttrykkes i sekunder.

Sammenlign disse resultatene:

  • []: 0.0008467000000109692
  • list(): 0.002867799999989984

Du kan se at det []er mye raskere enn list(). Det var en forskjell på omtrent 0.002sekunder i denne testen:

>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147

Jeg er sikker på at du må spørre dette akkurat nå: Hvorfor er list()mindre effektivt enn []om de gjør akkurat det samme?

Vel ... list()er tregere fordi det krever å slå opp navnet på funksjonen, ringe den og deretter opprette listeobjektet i minnet. I kontrast, []er som en "snarvei" som ikke krever så mange mellomtrinn for å lage listen i minnet.

Denne tidsforskjellen vil ikke påvirke ytelsen til programmet ditt veldig mye, men det er hyggelig å vite hvilken som er mer effektiv og hvordan de fungerer bak kulissene.

? Oppsummert

Du kan opprette en tom liste ved hjelp av et tomt par firkantede parenteser []eller typekonstruktøren list(), en innebygd funksjon som oppretter en tom liste når ingen argumenter sendes.

Firkantede parenteser []brukes ofte i Python for å lage tomme lister fordi det er raskere og mer kortfattet.

Jeg håper virkelig at du likte artikkelen min og syntes den var nyttig. Nå kan du opprette tomme lister i Python-prosjektene dine. Sjekk ut mine online kurs. Følg meg på Twitter. ⭐️

Hvis du vil dykke dypere inn i lister, kan det være lurt å lese:

  • Python List Append - Slik legger du til et element i en serie, forklart med eksempler
  • Python Sort List Array Method - Stigende og synkende forklart med eksempler
  • Python List Append VS Python List Extend - Forskjellen forklart med Array Method Eksempler