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!).
timeit
Modul ć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 False
u 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 False
u 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 timeit
funkcija 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.002
ovom 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