Python Tom List Tutorial - Sådan oprettes en tom liste i Python

Hvis du vil lære, hvordan du opretter en tom liste i Python effektivt, så er denne artikel noget for dig.

Du vil lære:

  • Sådan oprettes en tom liste ved hjælp af firkantede parenteser [].
  • Sådan oprettes en tom liste ved hjælp af list().
  • Deres brugssager.
  • Hvor effektive de er (den ene er hurtigere end den anden!). Vi bruger timeitmodulet til at sammenligne dem.

Lad os begynde! ✨

? Brug af firkantede beslag

Du kan oprette en tom liste med et tomt par firkantede parenteser som denne:  

? Tip: Vi tildeler den tomme liste til en variabel for at bruge den senere i vores program.

For eksempel:

num = []

Den tomme liste har længde 0, som du kan se lige her:

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

Tomme lister er falske værdier, hvilket betyder, at de vurderes til Falsei en boolsk sammenhæng:

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

Føj elementer til en tom liste

Du kan tilføje elementer til en tom liste ved hjælp af metoderne append()og insert():

  • append() tilføjer elementet til slutningen af ​​listen.
  • insert() tilføjer elementet i det bestemte indeks på den liste, du vælger.

Da lister enten kan være sande eller falske værdier afhængigt af om de er tomme eller ikke, når de evalueres, kan du bruge dem i betingelser som denne:

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

Output af denne kode er:

This list is empty

Fordi listen var tom, så evalueres den til Falsk.

Generelt:

  • Hvis listen ikke er tom, evalueres den til True, så if-klausulen udføres.
  • Hvis listen er tom, evalueres den til False, så den anden klausul udføres.

Eksempel:

I eksemplet nedenfor opretter vi en tom liste og tildeler den til variablen num. Derefter tilføjer vi en for-loop til en sekvens af elementer (heltal) til listen, der oprindeligt var tom:

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

Vi kontrollerer værdien af ​​variablen for at se, om varerne blev tilføjet med succes, og bekræfter, at listen ikke længere er tom:  

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

Tip: Vi bruger ofte append()til at føje det første element til en tom liste, men du kan også tilføje dette element, der kalder insert()metoden med indeks 0:

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

? Brug af listen () Constructor

Alternativt kan du oprette en tom liste med typekonstruktøren list(), der opretter et nyt listeobjekt.

Ifølge Python-dokumentationen:

Hvis der ikke gives noget argument, opretter konstruktøren en ny tom liste [].

Tip: Dette opretter et nyt listeobjekt i hukommelsen, og da vi ikke sendte nogen argumenter til list(), oprettes en tom liste.

For eksempel:

num = list()

Denne tomme liste har længde 0, som du kan se lige her:

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

Og det er en falsk værdi, når den er tom (den evalueres Falsei en boolsk sammenhæng):

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

Eksempel:

Dette er en fuldt funktionel liste, så vi kan tilføje elementer til den:

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

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

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

? Brug sager

  • Vi bruger typisk list()til at oprette lister fra eksisterende iterables som strenge, ordbøger eller tupler.
  • Du vil ofte se firkantede parenteser []bruges til at oprette tomme lister i Python, fordi denne syntaks er mere kortfattet og hurtigere.

? Effektivitet

Vente! Jeg har lige fortalt dig, at det []er hurtigere end list()...

Men hvor meget hurtigere?

Lad os kontrollere deres tidseffektivitet ved hjælp af timeit- modulet.

For at bruge dette modul i dit Python-program skal du importere det:

>>> import timeit

Specifikt bruger vi timeit-funktionen fra dette modul, som du kan ringe til med denne syntaks:

? Tip: Koden gentages flere gange for at reducere tidsforskelle, der kan opstå fra eksterne faktorer såsom andre processer, der muligvis kører på det pågældende tidspunkt. Dette gør resultaterne mere pålidelige til sammenligningsformål.

? På dine karakterer ... Bliv klar ... klar! Her er koden og output:

Først importerer vi modulet.

>>> import timeit

Derefter begynder vi at teste hver syntaks.

Testning []:

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

Testning list():

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

? Tip: Bemærk, at den kode, du vil have tid, skal være omgivet af enkelt anførselstegn ''eller dobbelt anførselstegn "". Den tid, der returneres af timeitfunktionen, udtrykkes i sekunder.

Sammenlign disse resultater:

  • []: 0.0008467000000109692
  • list(): 0.002867799999989984

Du kan se, at det []er meget hurtigere end list(). Der var en forskel på cirka 0.002sekunder i denne test:

>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147

Jeg er sikker på, at du må spørge dette lige nu: Hvorfor er det list()mindre effektivt, end []hvis de gør nøjagtigt det samme?

Nå ... list()er langsommere, fordi det kræver at slå navnet på funktionen op, kalde den og derefter oprette listeobjektet i hukommelsen. I modsætning hertil []er som en "genvej", der ikke kræver så mange mellemliggende trin for at oprette listen i hukommelsen.

Denne tidsforskel påvirker ikke programmets ydeevne meget, men det er rart at vide, hvilken der er mere effektiv, og hvordan de fungerer bag kulisserne.

? Sammenfattende

Du kan oprette en tom liste ved hjælp af et tomt par firkantede parenteser []eller typekonstruktøren list(), en indbygget funktion, der opretter en tom liste, når der ikke sendes argumenter.

Firkantede parenteser []bruges ofte i Python til at oprette tomme lister, fordi det er hurtigere og mere kortfattet.

Jeg håber virkelig, at du kunne lide min artikel og fandt det nyttigt. Nu kan du oprette tomme lister i dine Python-projekter. Tjek mine online kurser. Følg mig på Twitter. ⭐️

Hvis du vil dykke dybere ned i lister, kan du godt lide at læse:

  • Python List Append - Sådan tilføjes et element til en array, forklaret med eksempler
  • Python Sort List Array Method - Stigende og faldende forklaret med eksempler
  • Python List Append VS Python List Extend - Forskellen forklaret med Array Method Eksempler