Vadnica za prazen seznam Pythona - Kako ustvariti prazen seznam v Pythonu

Če se želite naučiti, kako učinkovito ustvariti prazen seznam v Pythonu, potem je ta članek za vas.

Naučil se boš:

  • Kako ustvariti prazen seznam z uporabo oglatih oklepajev [].
  • Kako ustvariti prazen seznam z list().
  • Njihovi primeri uporabe.
  • Kako učinkoviti so (eden je hitrejši od drugega!). Za timeitnjihovo primerjavo bomo uporabili modul.

Začnimo! ✨

? Uporaba oglatih oklepajev

Ustvarite lahko prazen seznam s praznimi pari oglatih oklepajev, kot je ta:  

? Namig: prazen seznam dodelimo spremenljivki, da jo uporabimo pozneje v našem programu.

Na primer:

num = []

Prazen seznam bo imel dolžino 0, kot lahko vidite tukaj:

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

Prazni seznami so napačne vrednosti, kar pomeni, da jih ovrednotijo Falsev logičnem kontekstu:

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

Dodajanje elementov na prazen seznam

Na prazen seznam lahko dodate elemente z uporabo metod append()in insert():

  • append() doda element na konec seznama.
  • insert() doda element na določen indeks seznama, ki ga izberete.

Ker so seznami lahko neresnični ali napačni, odvisno od tega, ali so med ocenjevanjem prazni ali ne, jih lahko uporabite v pogojih, kot je ta:

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

Rezultat te kode je:

This list is empty

Ker je bil seznam prazen, je ovrednoten kot False.

Na splošno:

  • Če seznam ni prazen, oceni na True, zato se izvede klavzula if.
  • Če je seznam prazen, oceni na False, zato se izvrši klavzula else.

Primer:

V spodnjem primeru ustvarimo prazen seznam in ga dodelimo spremenljivki num. Nato s pomočjo zanke for na seznam, ki je bil sprva prazen, dodamo zaporedje elementov (cela števila):

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

Preverimo vrednost spremenljivke, da preverimo, ali so bili elementi uspešno dodani, in potrdimo, da seznam ni več prazen:  

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

? Namig: Običajno append()dodamo prvi element na prazen seznam, lahko pa dodate tudi ta element, ki pokliče insert()metodo z indeksom 0:

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

? Uporaba konstruktorja list ()

Lahko pa ustvarite prazen seznam s konstruktorjem tipa list(), ki ustvari nov objekt seznama.

Glede na dokumentacijo Python:

Če ni podana trditev, gradbenik ustvari nov prazen seznam, [].

? Namig: S tem ustvarite nov objekt seznama v pomnilniku in ker nismo predali nobenega argumenta list(), bo ustvarjen prazen seznam.

Na primer:

num = list()

Ta prazen seznam bo imel dolžino 0, kot lahko vidite tukaj:

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

In je napačna vrednost, ko je prazna (ocenjuje se na Falsev logičnem kontekstu):

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

Primer:

To je popolnoma funkcionalen seznam, zato mu lahko dodamo elemente:

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

Rezultat bo neprazen seznam, kot lahko vidite tukaj:

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

? Uporabite etuije

  • Običajno uporabljamo list()za ustvarjanje seznamov iz obstoječih ponovljivih elementov, kot so nizi, slovarji ali nabori.
  • Pogosto boste videli oglate oklepaje, []ki se uporabljajo za ustvarjanje praznih seznamov v Pythonu, ker je ta skladnja bolj jedrnata in hitrejša.

Učinkovitost

Počakaj! Pravkar sem vam rekel, da []je hitreje kot list()...

Toda koliko hitreje?

Preverimo njihovo časovno učinkovitost z uporabo modula timeit .

Če želite uporabiti ta modul v programu Python, ga morate uvoziti:

>>> import timeit

Natančneje, uporabili bomo funkcijo timeit iz tega modula, ki jo lahko pokličete s to sintakso:

? Nasvet: Koda se večkrat ponovi, da se zmanjšajo časovne razlike, ki lahko nastanejo zaradi zunanjih dejavnikov, kot so drugi procesi, ki bi se v določenem trenutku morda izvajali. Zaradi tega so rezultati bolj zanesljivi za primerjavo.

? Na vaše ocene ... pripravite se ... pripravljeni! Tu je koda in izhod:

Najprej uvozimo modul.

>>> import timeit

Nato začnemo preizkušati vsako sintakso.

Testiranje []:

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

Testiranje list():

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

? Nasvet: Upoštevajte, da mora biti koda, ki jo želite časovno omejiti, z enojnimi ''ali dvojnimi narekovaji "". Čas, ki ga timeitfunkcija vrne, je izražen v sekundah.

Primerjajte te rezultate:

  • []: 0.0008467000000109692
  • list(): 0.002867799999989984

Vidite, da []je to veliko hitreje kot list(). V 0.002tem testu je bila približno približno sekunda razlike :

>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147

Prepričan sem, da morate to vprašati že zdaj: Zakaj je list()manj učinkovit kot []če počnejo popolnoma isto stvar?

No ... list()je počasnejši, ker zahteva iskanje funkcije, njeno klicanje in nato ustvarjanje predmeta seznama v pomnilniku. Nasprotno pa []je kot "bližnjica", ki ne zahteva toliko vmesnih korakov za ustvarjanje seznama v pomnilniku.

Ta časovna razlika ne bo zelo vplivala na uspešnost vašega programa, vendar je lepo vedeti, kateri je bolj učinkovit in kako deluje v zakulisju.

Povzetek

Prazen seznam lahko ustvarite z uporabo praznih parov oglatih oklepajev []ali s konstruktorjem tipa list(), vgrajeno funkcijo, ki ustvari prazen seznam, ko ni posredovan noben argument.

Oglati oklepaji []se v Pythonu pogosto uporabljajo za ustvarjanje praznih seznamov, ker je hitrejši in bolj jedrnat.

Resnično upam, da vam je bil moj članek všeč in se vam je zdel koristen. Zdaj lahko v svojih projektih Python ustvarite prazne sezname. Oglejte si moje spletne tečaje. Sledi mi na tviterju. ⭐️

Če se želite poglobiti v sezname, boste morda radi prebrali:

  • Dodatek seznama Python - Kako dodati element v matriko, razloženo s primeri
  • Metoda matrike Python Sort List - naraščajoča in padajoča, pojasnjena s primeri
  • Python List Append VS Python List Extend - Razlika, pojasnjena s primeri matrične metode