Ha meg szeretné tudni, hogyan lehet hatékonyan létrehozni egy üres listát a Pythonban, akkor ez a cikk az Ön számára készült.
Tanulni fogsz:
- Hogyan készítsünk üres listát szögletes zárójelben
[]
. - Hogyan lehet létrehozni egy üres listát a
list()
. - Felhasználási eseteik.
- Mennyire hatékonyak (az egyik gyorsabb, mint a másik!). A
timeit
modul segítségével összehasonlítjuk őket.
Kezdjük! ✨
Square Szögletes zárójelek használata
Létrehozhat egy üres listát üres szögletes zárójelekkel, így:

? Tipp: Az üres listát hozzárendeljük egy változóhoz, hogy azt később felhasználhassuk a programunkban.
Például:
num = []
Az üres lista hosszúságú lesz 0
, amint itt láthatja:
>>> num = [] >>> len(num) 0
Az üres listák hamis értékek, ami azt jelenti, hogy False
logikai kontextusban értékelik őket :
>>> num = [] >>> bool(num) False
Adjon elemeket egy üres listához
Felveheti elemeket egy üres listát módszerekkel append()
és insert()
:
append()
hozzáadja az elemet a lista végéhez.insert()
hozzáadja az elemet a lista adott indexéhez, amelyet választ.
Mivel a felsorolás lehet igaz vagy hamis érték, attól függően, hogy kiértékelésükkor üresek-e vagy sem, az ilyen feltételekben használhatja őket:
if num: print("This list is not empty") else: print("This list is empty")
Ennek a kódnak a kimenete:
This list is empty
Mivel a lista üres volt, ezért hamisra értékel.
Általában:
- Ha a lista nem üres, akkor kiértékeli
True
, így az if záradék végrehajtásra kerül. - Ha a lista üres, akkor kiértékeli
False
, így az else záradék végrehajtásra kerül.
Példa:
Az alábbi példában létrehozunk egy üres listát, és hozzárendeljük a változóhoz num
. Ezután a for ciklus segítségével hozzáadunk egy elemet (egész számot) a kezdetben üres listához:
>>> num = [] >>> for i in range(3, 15, 2): num.append(i)
Ellenőrizzük a változó értékét, hogy az elemeket sikeresen csatoltuk-e, és megerősítjük, hogy a lista már nem üres:
>>> num [3, 5, 7, 9, 11, 13]
? Tipp: Általában arra használjuk append()
, hogy az első elemet egy üres listához adjuk, de ezt az elemet hozzáadhatja a insert()
metódussal indexszel is 0
:
>>> num = [] >>> num.insert(0, 1.5) # add the float 1.5 at index 0 >>> num [1.5]
? A lista () Konstruktor használata
Alternatív megoldásként létrehozhat egy üres listát a type konstruktorral list()
, amely új listaobjektumot hoz létre.
A Python dokumentáció szerint:
Ha nincs argumentum megadva, a kivitelező egy új, üres lista[]
.

? Tipp: Ez új listaobjektumot hoz létre a memóriában, és mivel nem adtunk át argumentumokat list()
, egy üres lista jön létre.
Például:
num = list()
Ennek az üres listának hosszúsága lesz 0
, amint itt láthatja:
>>> num = list() >>> len(num) 0
És hamis érték, ha üres ( False
logikai kontextusban értékeli ):
>>> num = list() >>> bool(num) False
Példa:
Ez egy teljesen működőképes lista, így hozzáadhatunk elemeket hozzá:
>>> num = list() >>> for i in range(3, 15, 2): num.append(i)
És az eredmény nem üres lista lesz, amint itt láthatja:
>>> num [3, 5, 7, 9, 11, 13]
? Használjon tokokat
- Általában
list()
listákat készítünk létező iterable-ból, például karakterláncokból, szótárakból vagy sorrendekből. - Általában látni fogja a szögletes zárójelek
[]
használatát üres listák létrehozásához a Pythonban, mert ez a szintaxis tömörebb és gyorsabb.
? hatékonyság
Várjon! Most mondtam, hogy []
gyorsabb, mint list()
...
De mennyivel gyorsabban?
Ellenőrizzük az időhatékonyságukat a timeit modul segítségével.
Ennek a modulnak a Python programjában történő használatához importálnia kell:
>>> import timeit
Pontosabban a modul timeit függvényét fogjuk használni, amelyet ezzel a szintaxissal hívhat meg:

? Tipp: A kódot többször megismételjük, hogy csökkentse az időbeli különbségeket, amelyek külső tényezőkből származhatnak, például más folyamatokból, amelyek adott pillanatban futhatnak. Ez megbízhatóbbá teszi az eredményeket összehasonlítás céljából.
? A jegyeiden ... készülj fel ... készen! Itt van a kód és a kimenet:
Először importáljuk a modult.
>>> import timeit
Ezután elkezdjük tesztelni az egyes szintaxisokat.
Tesztelés []
:
>>> timeit.timeit('[]', number=10**4) 0.0008467000000109692
Tesztelés list()
:
>>> timeit.timeit('list()', number=10**4) 0.002867799999989984
? Tipp: Figyelje meg, hogy az időzíteni kívánt kódot egyetlen ''
vagy két idézőjel veszi körül ""
. A timeit
függvény által visszaadott időt másodpercben fejezzük ki.
Hasonlítsa össze ezeket az eredményeket:
[]
:0.0008467000000109692
list()
:0.002867799999989984
Láthatja, hogy []
ez sokkal gyorsabb, mint list()
. Körülbelül 0.002
másodperc különbség volt ebben a tesztben:
>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147
Biztos vagyok benne, hogy most biztosan ezt kérdezi: Miért list()
kevésbé hatékony, mint []
ha pontosan ugyanazt csinálják?
Nos ... list()
lassabb, mert meg kell keresni a függvény nevét, meghívni, majd létrehozni a listaobjektumot a memóriában. Ezzel szemben olyan, []
mint egy "parancsikon", amely nem igényel annyi közbenső lépést a lista létrehozásához a memóriában.
Ez az időbeli különbség nem fogja nagyon befolyásolni a program teljesítményét, de jó tudni, hogy melyik a hatékonyabb és hogyan működnek a kulisszák mögött.
? Összefoglalva
Létrehozhat egy üres listát üres szögletes zárójelek []
vagy a type konstruktor segítségével list()
. Ez egy beépített függvény, amely üres listát hoz létre, ha egyetlen argumentum sem adható meg.
A []
Pythonban általában szögletes zárójelet használnak üres listák létrehozására, mert az gyorsabb és tömörebb.
Nagyon remélem, hogy tetszett a cikkem, és hasznosnak találta. Most üres listákat hozhat létre a Python-projektjeiben. Nézze meg online tanfolyamaimat. Kövess a Twitteren. ⭐️
Ha mélyebbre szeretne merülni a listákban, akkor érdemes elolvasnia:
- Python lista függelék - Elemek hozzáadása egy tömbhöz, példákkal elmagyarázva
- A Python rendezési lista tömb módszer - növekvő és csökkenő példákkal magyarázva
- Python lista hozzáfűzése VS Python lista kiterjesztése - A különbség tömb módszer példákkal magyarázható