Lecture Thumbnail

Zoznamy - hromadné ukladanie dát

Čo ak máš nákupný zoznam alebo zoznam mien? Naučíš sa ukladať viacero hodnôt do jednej premennej.

Čo je to zoznam?

Doteraz sme pracovali s premennými, do ktorých sme vkladali vždy jednu hodnotu - číslo, text alebo logickú hodnotu. Čo ale keď chceme uložiť viacero hodnôt naraz? Na to slúži zoznam.

Zoznam si môžeš predstaviť ako riadok škatúľ vedľa seba. Každá má svoju hodnotu a každá má číslovanú pozíciu, vďaka ktorej vieš k nej pristúpiť. Táto pozícia sa nazýva index.

Vytvorenie zoznamu

Zoznam vytvoríme pomocou hranatých zátvoriek [], pričom jednotlivé hodnoty (resp. prvky) oddeľujeme čiarkami.

Zoznam môže obsahovať hodnoty rôznych dátových typov, hoci v praxi zvykneme ukladať hodnoty rovnakého typu.

Prístup k prvkom – indexovanie

K jednotlivým prvkom zoznamu pristupujeme pomocou indexu v hranatých zátvorkách. Dôležité: indexovanie začína od 0, nie od 1. Prístup vykonáme týmto syntaxom: meno_zoznamu[index]. Ukážka je nižšie.

Pozor!

Ak použiješ index, ktorý v zozname neexistuje (napr. mena[5] pri 3 prvkoch), Python vyhodí IndexError. Vždy si skontroluj, koľko prvkov zoznam obsahuje.

Záporné indexy

Python podporuje aj záporné indexy. -1 označuje posledný prvok, -2 predposledný, atď. Toto je užitočné, keď nevieš, aký dlhý je tvoj zoznam.

Dĺžka zoznamu – funkcia len()

Funkcia len() nám vráti počet prvkov v zozname. Využívame ju napríklad vtedy, keď chceme vypísať posledný prvok bez použitia záporného indexu. Je to funkcia s parametrom a tým je nejaký zoznam.

Zmena hodnoty prvku

Na rozdiel od textového reťazca, prvky zoznamu vieme meniť pomocou indexu. Syntax je podobný prístupu prvku zoznamu, avšak pridáme znak rovná sa a za ním novú hodnotu prvku.

Indexovanie v textových reťazcoch

  1. Textové reťazce fungujú pri indexovaní podobne ako zoznamy.
  2. Vieš pristupovať k jednotlivým znakom pomocou indexu. Napríklad meno = "Anna", meno[0] vráti "A". 
  3. Na rozdiel od zoznamu však znaky v textovom reťazci nemôžeš meniť cez index.

Pridávanie prvkov: metóda append()

Ak chceme do zoznamu pridať nový prvok, použijeme metódu append(). Táto funkcia pridá nový prvok na koniec zoznamu.

Mazanie prvkov: metóda remove()

Metóda remove() vymaže prvý výskyt zadanej hodnoty zo zoznamu. Ak hodnota v zozname neexistuje, Python vyhodí chybu.

Prehľad operácií so zoznamom

Operácia Príklad
Vytvorenie cisla = [-5, 8, 14, 2]
Prístup cez index mena[0] # Anna
Prístup cez záporný index mena[-2] # predposledný prvok
Dĺžka zoznamu len(zoznam)
Zmena prvku cez index cisla[4] = 0
Pridanie prvku (na koniec) mena.append("Karolína")
Vymazanie prvku (prvý výskyt) mena.remove("Saša")

Zopakuj si!

  1. Zoznam je premenná, do ktorej vieme uložiť viacero hodnôt naraz.
  2. Prvky zoznamu číslujeme od 0 - tomu hovoríme indexovanie.
  3. Záporné indexy (-1, -2, ...) nám umožňujú pristupovať k prvkom od konca.
  4. len(zoznam) je funkcia, ktorá nám vráti počet prvkov v zozname.
  5. zoznam.append() pridá prvok na koniec zoznamu.
  6. zoznam.remove() vymaže prvý výskyt v zozname.
  7. Prvky zoznamu vieme meniť cez index. V textovom reťazci toto možné nie je.
9. Cyklus for