Python üres lista oktatóanyag - Üres lista létrehozása a Pythonban

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 timeitmodul 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 Falselogikai 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 ( Falselogikai 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 timeitfü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.002má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ó