Lista / tömb típus
A Python lista (tömb) adatokat tárol, amelyeknek nem kell azonos típusúnak lennie. Az egyes eltárolt adatelemek a listában sorban vannak: megőrzik azt a sorrendet, ahogyan betettük őket. Az elemekre hivatkozni pedig indexekkel tudunk, indexekkel jelöljük meg, melyik elemre van szükségünk. Ezek mindig természetes számok, 0-tól a lista mérete–1-ig.
Lista létrehozása, hossza, módosítása, szeletelése, függvények, stb.
- Lista létrehozása: tegyük szögletes zárójelbe az értékeket vesszőkkel elválasztva. ( pl. ls = [ 1, 2, "Béla", 3.1459 ] li = [] # üres lista )
- A lista hossza a len() függvénnyel számolható. ( pl. len(ls) ⇒ 4 len(li) ⇒ 0 )
- A lista egy elemére szögletes zárójelbe tett indexével hivatkozhatunk. ( pl. ls[2] ⇒ "Béla" )
- Az elem in lista True-t ad, ha "elem" valóban eleme a listának, egyébként False-ot. ( pl. "Béla" in ls ⇒ True 13 in ls ⇒ False )
- Az ls[n1:n2:n3] "szeleteli" az ls listát. Az n1,n2 a kezdő ill. végső index, n3 a lépésköz. Ha n3 negatív, akkor visszafelé szeletel. ( pl. ls[1:3] ⇒ [2,"Béla"] ls[2:] ⇒ ["Béla",3.1459] ls[::-1] ⇒ [3.1459,"Béla",2,1] # lista fordítva ls[::-2] ⇒ [3.1459,2] )
- A stringek speciális listák/tömbök, elemei a karakterek, így a listaműveletek a stringekre is alkalmazhatóak.
- A list() függvény a paraméterében megadott stringet listává alakítja. ( pl. list("Béla") ⇒ ['B', 'é', 'l', 'a'] )
- A split() is listává alakítja a stringet. ( pl. "kék az ég".split() ⇒ ['kék', 'az', 'ég']   "kék az ég".split("k") ⇒ ['', 'é', ' az ég'] )
- A split() inverze a join() metódus (ragasztó). ( pl. "...".join(["kék","az","ég"]) ⇒ "kék...az...ég" )
- A lista elemei módosíthatók, a string krakterei nem! ( pl. ls[3] = 3.14 ⇒ utolsó elem változik "Lali"[0] = "V" ⇒ hibaüzenet lesz
Néhány gyakori lista metódus
ls.append(elem) | elem beszúrása az ls lista végére, nem tér vissza a listával, a listát helyben módosítja |
ls.insert(index, elem) | elem beszúrása az adott index pozícióra, a tőle jobbra lévő elemeket eggyel jobbra mozgatja |
ls.remove(elem) | az adott elem első előfordulását eltávolítja a listából, ha nincs benne, akkor ValueErrorkivétel lép fel |
ls.pop(index) | az adott indexű elemet eltávolítja s ezzel az elemmel tér vissza ha az indexet nem adjuk meg, akkor a legjobboldalibb elemmel tér vissza |
ls.extend(ls2) | a ls2-ben lévő elemeket az ls lista végére beszúrja, a + ill. a += operátorok hasonlóan működnek |
ls.index(elem) | adott elem keresése a listában ha benne van, akkor az elem indexével tér vissza ha nincs benne, akkor ValueErrorkivételt dob (elkerüléséhez használjuk az „in” operátort) |
ls.sort() | helyben rendezi a listát (nem tér vele vissza) |
ls.reverse() | helyben megfordítja az elemek sorrendjét (nem rendez!, nem tér vissza a listával) |
Példák listákra
[3,4] + [1,2] – [3,4,1,2]
for e in ls:
print(e,end=",") – 1,2,"Béla",3.1459,
for e in ls[::2]:
print(e,end=",") – 1,"Béla",
"Béla" in ls – True
gyires.inf.unideb.hu - listák