Vodič za prazan popis Pythona - Kako stvoriti prazan popis u Pythonu

Ako želite naučiti kako učinkovito stvoriti prazan popis u Pythonu, onda je ovaj članak za vas.

Naučit ćeš:

  • Kako stvoriti prazan popis pomoću uglatih zagrada [].
  • Kako stvoriti prazan popis pomoću list().
  • Njihovi slučajevi upotrebe.
  • Koliko su učinkoviti (jedno je brže od drugog!). timeitModul ćemo upotrijebiti za njihovu usporedbu.

Započnimo! ✨

? Korištenje uglatih zagrada

Možete stvoriti prazan popis s praznim parom uglastih zagrada, ovako:  

? Savjet: Prazni popis dodjeljujemo varijabli kako bi se koristila kasnije u našem programu.

Na primjer:

num = []

Prazni popis imat će dužinu 0, kao što možete vidjeti upravo ovdje:

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

Prazni popisi su lažne vrijednosti, što znači da ih ocjenjuju Falseu logičkom kontekstu:

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

Dodajte elemente na prazan popis

Elemente možete dodati praznom popisu pomoću metoda append()i insert():

  • append() dodaje element na kraj popisa.
  • insert() dodaje element na određeni indeks popisa koji ste odabrali.

Budući da popisi mogu biti neistinite ili lažne vrijednosti, ovisno o tome jesu li prazne ili ne kad se procjenjuju, možete ih koristiti u sljedećim uvjetima:

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

Rezultat ovog koda je:

This list is empty

Budući da je popis bio prazan, pa je vrijednost False.

Općenito:

  • Ako popis nije prazan, izračunava vrijednost True, pa se izvršava klauzula if.
  • Ako je popis prazan, izračunava vrijednost False, pa se izvršava klauzula else.

Primjer:

U donjem primjeru kreiramo prazan popis i dodjeljujemo ga varijabli num. Zatim, pomoću petlje for, na popis koji je u početku bio prazan dodamo niz elemenata (cijelih brojeva):

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

Provjeravamo vrijednost varijable da vidimo jesu li stavke uspješno dodane i potvrđujemo da popis više nije prazan:  

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

? Savjet: Obično koristimo append()za dodavanje prvog elementa na prazan popis, ali možete dodati i ovaj element koji poziva insert()metodu s indeksom 0:

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

Korištenje konstruktora list ()

Alternativno, možete stvoriti prazan popis pomoću konstruktora tipa list(), koji stvara novi objekt popisa.

Prema Python dokumentaciji:

Ako se daje argument, graditelj stvara novu praznu listu, [].

? Savjet: Ovo stvara novi objekt popisa u memoriji, a budući da nismo proslijedili nijedan argument list(), stvorit će se prazan popis.

Na primjer:

num = list()

Ovaj prazan popis imat će dužinu 0, kao što možete vidjeti ovdje:

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

I to je lažna vrijednost kada je prazna (procjenjuje na Falseu logičkom kontekstu):

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

Primjer:

Ovo je potpuno funkcionalan popis, pa mu možemo dodati elemente:

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

Rezultat će biti neprazan popis, kao što možete vidjeti upravo ovdje:

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

? Koristite slučajeve

  • Obično koristimo list()za izradu popisa iz postojećih iterabla kao što su nizovi, rječnici ili korice.
  • Često ćete vidjeti da se uglate zagrade []koriste za stvaranje praznih popisa u Pythonu jer je ta sintaksa sažetija i brža.

? Učinkovitost

Čekati! Upravo sam ti rekao da []je to brže od list()...

Ali koliko brže?

Provjerimo njihovu vremensku efikasnost pomoću modula timeit .

Da biste koristili ovaj modul u svom programu Python, morate ga uvesti:

>>> import timeit

Konkretno, koristit ćemo funkciju timeit iz ovog modula, koju možete nazvati s ovom sintaksom:

? Savjet: Kôd se ponavlja nekoliko puta kako bi se smanjile vremenske razlike koje mogu nastati zbog vanjskih čimbenika, poput drugih procesa koji bi se mogli pokrenuti u tom određenom trenutku. To rezultate čini pouzdanijima za usporedbu.

Na vaše ocjene ... pripremite se ... spremni! Evo koda i rezultata:

Prvo uvozimo modul.

>>> import timeit

Zatim započinjemo testiranje svake sintakse.

Ispitivanje []:

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

Ispitivanje list():

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

Savjet: Imajte na umu da kod koji želite vremenski odrediti mora biti okružen jednostrukim ''ili dvostrukim navodnicima "". Vrijeme koje timeitfunkcija vraća izražava se u sekundama.

Usporedite ove rezultate:

  • []: 0.0008467000000109692
  • list(): 0.002867799999989984

Vidite da []je to mnogo brže od list(). U 0.002ovom je testu postojala razlika od otprilike sekunde:

>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147

Siguran sam da ovo morate pitati upravo sada: Zašto je list()manje učinkovito nego []ako rade potpuno isto?

Pa ... list()sporije je jer zahtijeva traženje imena funkcije, njegovo pozivanje i zatim stvaranje objekta popisa u memoriji. Suprotno tome, to []je poput "prečaca" koji ne zahtijeva toliko posrednih koraka za stvaranje popisa u memoriji.

Ova vremenska razlika neće puno utjecati na izvedbu vašeg programa, ali lijepo je znati koji je učinkovitiji i kako rade iza kulisa.

? Sažeto

Možete stvoriti prazan popis koristeći prazne pare uglatih zagrada []ili konstruktor tipa list(), ugrađenu funkciju koja stvara prazan popis kada se ne proslijede argumenti.

Uglate zagrade []obično se koriste u Pythonu za stvaranje praznih popisa jer je brži i sažetiji.

Zaista se nadam da vam se svidio moj članak i ocijenio ga korisnim. Sada možete stvoriti prazne popise u svojim Python projektima. Pogledajte moje internetske tečajeve. Pratite me na Twitteru. ⭐️

Ako želite dublje zaroniti u popise, možda biste voljeli pročitati:

  • Dodatak popisa Python - Kako dodati element u niz, objašnjeno primjerima
  • Metoda niza popisa sortiranja Python - uzlazno i ​​silazno objašnjeno primjerima
  • Popis Pythona dodati VS Proširenje popisa Python - Razlika objašnjena primjerima metoda niza