Prestavte si, že na vstupe nedostaneme zopár čísel, ale niekoľko desiatok. Kam by sme tieto čísla uložili? Mohli by sme si vytvoriť desiatky premenných a vstup naukladať do nich. To by však nebolo veľmi prehľadné; a navyše čo ak by bol počet čísel na vstupe premenlivý? (Napríklad prvé číslo vstupu by určovalo koľko čísel bude nasledovať)
Pre takýto prípad musíme rozšíriť náš arzenál o list. List deklaruje
naraz množstvo premenných uložených za sebou, ku ktorým sa dá
pristupovať pomocou ich pozície.
# List obsahujuci cisla 1 az 5
cisla = [1, 2, 3, 4, 5]
# Vypisanie prveho prvku pola "cisla".
print(cisla[0])
# Vystup: 1
# Chyba!
print(cisla[5])
# IndexError: list index out of range
# Python nam hovori, ze index 5 je mimo povoleny rozsah (index out of range)
# Pole "cisla" ma 5 prvkov indexovanych od 0, takze posledny platny index je 4, index 5 je neplatny.
Ako ukazuje príklad vyššie, vytvorenie listu má formát
[<hodn1>, <hodn2>, ...], kde hodnota môže byť ľubovoľná premenná alebo
hodnota (literál). Listy sú číslované od 0. Ak preto vytvoríme
reťazec dĺžky 5 ako v príklade vyššie, platné indexy (pozície) sú 0
až 4.
List si tiež môžete predstaviť veľa krabičiek vedľa seba, ku ktorým
pristupujeme menom listu a zároveň pozíciou. Pritom krabičky na sebe
nijako nezávisia a môžu obsahovať rôzne hodnoty a dokonca, ako ukazuje
list z obrázku, aj rôzne typy. V liste z obrázka je na pozíciách 0,
3 string, na pozíciách 1, 2 int, atď.

Na koniec listov často potrebujeme pridávať hodnotu. Na to slúži
metóda append1. Táto metóda pridá novú
hodnotu na koniec listu. Ak chceme pristúpiť k niektorému z prvkov
listu, stačí za menom listu pozíciu obaliť do hranatých zátvoriek, teda
<list>[<pozicia>]. Napríklad cisla[0].
# Program dostane cislo n, pocet cisel, ktore budu nasledovat
# na dalsich riadkoch. Nasledne nacita tieto cisla a vypise ich.
n = int(input())
vstup = []
for i in range(n):
vstup.append(int(input()))
for i in range(n):
print(vstup[i])
# Napriklad pre vstup:
# 3
# 1
# 5
# 3
# Vyda program vystup (tu skratene do jedneho riadku):
# 1 5 3
Tento program je možno najkomplexnejší, s ktorým sme sa zatiaľ v tomto
kurze stretli. Na začiatku načíta číslo n, počet čísel, ktoré budú
nasledovať na samostatných riadkoch. Následne v cykle od 0 po n - 1
(vrátane) načíta vždy jedno číslo int(input()) a pripojí ho do listu
vstup pomocou append.
Následne program načítané čísla vypíše. Vo for-cykle od 0 po n - 1
postupne prístupi pomocou premennej i k prvkom poľa na indexoch 0 až
n - 1 a vypíše ich.
Métoda je funkcia naviazaná na konkrétny objekt,
pričom objekt v Pythone je všetko (premenné, hodnoty, funkcie, ...). Zavolať metódu môžeme ako <objekt>.<metoda>() ↩