Výukový program pre prázdny zoznam v Pythone - Ako vytvoriť prázdny zoznam v Pythone
Ak sa chcete dozvedieť, ako efektívne vytvoriť prázdny zoznam v Pythone, potom je tento článok určený práve pre vás.
Naučíš sa:
- Ako vytvoriť prázdny zoznam pomocou hranatých zátvoriek
[]
. - Ako vytvoriť prázdny zoznam pomocou
list()
. - Prípady ich použitia.
- Ako efektívne sú (jedno je rýchlejšie ako druhé!).
timeit
Modul použijeme na ich porovnanie.
Poďme začať! ✨
? Používanie hranatých zátvoriek
Môžete vytvoriť prázdny zoznam s prázdnym párom hranatých zátvoriek, napríklad takto:

? Tip: Prázdny zoznam priradíme premennej, aby sme ju mohli neskôr použiť v našom programe.
Napríklad:
num = []
Prázdny zoznam bude mať dĺžku 0
, ako vidíte tu:
>>> num = [] >>> len(num) 0
Prázdne zoznamy sú falošné hodnoty, čo znamená, že sa hodnotia False
v boolovskom kontexte:
>>> num = [] >>> bool(num) False
Pridajte prvky do prázdneho zoznamu
Prvky môžete pridať do prázdneho zoznamu pomocou metód append()
a insert()
:
append()
pridá prvok na koniec zoznamu.insert()
pridá prvok do konkrétneho indexu zoznamu, ktorý vyberiete.
Pretože zoznamy môžu byť buď nepravdivé, alebo nepravdivé hodnoty v závislosti od toho, či sú pri vyhodnotení prázdne alebo nie, môžete ich použiť v podmienkách, ako je tento:
if num: print("This list is not empty") else: print("This list is empty")
Výstup tohto kódu je:
This list is empty
Pretože bol zoznam prázdny, vyhodnotí sa ako nepravdivý.
Všeobecne:
- Ak zoznam nie je prázdny, vyhodnotí sa ako
True
, takže sa vykoná klauzula if. - Ak je zoznam prázdny, vyhodnotí sa ako
False
, takže sa vykoná klauzula else.
Príklad:
V príklade nižšie vytvoríme prázdny zoznam a priradíme ho k premennej num
. Potom pomocou slučky for pridáme do zoznamu, ktorý bol pôvodne prázdny, postupnosť prvkov (celé čísla):
>>> num = [] >>> for i in range(3, 15, 2): num.append(i)
Skontrolujeme hodnotu premennej, aby sme zistili, či boli položky úspešne pripojené, a potvrdíme, že zoznam už nie je prázdny:
>>> num [3, 5, 7, 9, 11, 13]
? Tip:append()
Prvý prvok bežne používame na pridanie do prázdneho zoznamu, ale môžete tiež pridať tento prvok, ktorý volá insert()
metódu s indexom 0
:
>>> num = [] >>> num.insert(0, 1.5) # add the float 1.5 at index 0 >>> num [1.5]
? Pomocou konštruktéra list ()
Prípadne môžete vytvoriť prázdny zoznam pomocou konštruktora typu list()
, ktorý vytvorí nový objekt zoznamu.
Podľa dokumentácie Pythonu:
Ak nie je zadaný žiadny argument, konštruktor vytvorí nový prázdny zoznam[]
.

? Tip: Týmto sa v pamäti vytvorí nový objekt zoznamu a keďže sme neposlali žiadne argumenty list()
, vytvorí sa prázdny zoznam.
Napríklad:
num = list()
Tento prázdny zoznam bude mať dĺžku 0
, ako vidíte tu:
>>> num = list() >>> len(num) 0
A je to falošná hodnota, keď je prázdna (hodnotí sa False
v boolovskom kontexte):
>>> num = list() >>> bool(num) False
Príklad:
Toto je plne funkčný zoznam, takže doň môžeme pridávať prvky:
>>> num = list() >>> for i in range(3, 15, 2): num.append(i)
Výsledkom bude neprázdny zoznam, ako vidíte tu:
>>> num [3, 5, 7, 9, 11, 13]
? Pouzdra
- Zvyčajne sa používajú
list()
na vytváranie zoznamov z existujúcich opakovateľných súborov, ako sú reťazce, slovníky alebo n-tice. - Bežne uvidíte hranaté zátvorky, ktoré
[]
sa používajú na vytvorenie prázdnych zoznamov v Pythone, pretože táto syntax je stručnejšia a rýchlejšia.
? Efektívnosť
Počkaj! Práve som ti povedal, že []
je to rýchlejšie ako list()
...
Ale o koľko rýchlejšie?
Poďme skontrolovať ich časovú efektívnosť pomocou modulu timeit .
Ak chcete tento modul použiť v programe Python, musíte ho importovať:
>>> import timeit
Konkrétne použijeme funkciu timeit z tohto modulu, ktorú môžete volať pomocou tejto syntaxe:

? Tip: Kód sa opakuje niekoľkokrát, aby sa znížili časové rozdiely, ktoré môžu vzniknúť z vonkajších faktorov, ako sú napríklad iné procesy, ktoré môžu bežať v danom okamihu. Vďaka tomu sú výsledky spoľahlivejšie na účely porovnania.
? Na vaše známky ... pripravte sa ... pripravení! Tu je kód a výstup:
Najskôr importujeme modul.
>>> import timeit
Potom začneme testovať každú syntax.
Testovanie []
:
>>> timeit.timeit('[]', number=10**4) 0.0008467000000109692
Testovanie list()
:
>>> timeit.timeit('list()', number=10**4) 0.002867799999989984
? Tip: Upozorňujeme, že kód, ktorý chcete načasovať, musí byť obklopený jednoduchými ''
alebo dvojitými úvodzovkami ""
. Čas vrátený timeit
funkciou je vyjadrený v sekundách.
Porovnajte tieto výsledky:
[]
:0.0008467000000109692
list()
:0.002867799999989984
Môžete vidieť, že []
je to oveľa rýchlejšie ako list()
. V 0.002
tomto teste bol rozdiel približne sekúnd:
>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147
Som si istý, že sa vás na to musíte pýtať hneď teraz: Prečo je list()
menej efektívne, ako []
keď robia presne to isté?
No ... list()
je pomalší, pretože vyžaduje vyhľadanie názvu funkcie, jej vyvolanie a následné vytvorenie objektu zoznamu v pamäti. Naproti tomu []
je ako „skratka“, ktorá na vytvorenie zoznamu v pamäti nevyžaduje toľko medzikrokov.
Tento časový rozdiel veľmi neovplyvní výkonnosť vášho programu, ale je pekné vedieť, ktorý z nich je efektívnejší a ako pracuje v zákulisí.
? V súhrne
Prázdny zoznam môžete vytvoriť pomocou prázdnej dvojice hranatých zátvoriek []
alebo pomocou konštruktora typu list()
, vstavanej funkcie, ktorá vytvorí prázdny zoznam, keď nebudú odovzdané žiadne argumenty.
Hranaté zátvorky []
sa v Pythone bežne používajú na vytváranie prázdnych zoznamov, pretože je rýchlejší a stručnejší.
Naozaj dúfam, že sa vám môj článok páčil a bol pre vás užitočný. Teraz môžete vo svojich projektoch Pythonu vytvárať prázdne zoznamy. Prezrite si moje online kurzy. Sleduj ma na Twitteri. ⭐️
Ak sa chcete hlbšie ponoriť do zoznamov, môžete si prečítať:
- Dodatok k zoznamu Pythonu - Ako pridať prvok do poľa, vysvetlené v príkladoch
- Metóda poľa Python Sort List Array - vzostupne a zostupne vysvetlená v príkladoch
- Pripojenie zoznamu Python VS Rozšírenie zoznamu Python - rozdiel vysvetlený príkladmi metódy Array