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.

Ak zostaneme pri prirovnaní premennej ku krabici, tak zoznam si môžeš predstaviť ako riadok škatúľ vedľa seba. Každá má svoju hodnotu a svoju čí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é prvky oddeľujeme čiarkami.

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

Prístup k prvkom – indexovanie

K jednotlivým prvkom zoznamu pristupujeme pomocou indexu (poradového čísla) v hranatých zátvorkách. 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, aby si nepristupoval k neexistujúcim prvkom.

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, čo je jeho dĺžka/veľkosť. Je to funkcia s parametrom a tým je zoznam. Využívame ju napríklad vtedy, keď chceme vypísať posledný prvok bez použitia záporného indexu. Získame dĺžku zoznamu cez len() a od tejto hodnoty odčítame 1, keďže sa indexovanie začína od 0.

Zmena hodnoty prvku

Na rozdiel od textového reťazca, prvky zoznamu vieme meniť pomocou indexu. Syntax je podobný prístupu prvku zoznamu, napíšeme meno zoznamu a v hranatých zátvorkách index prvku, ktorý chceme zmeniť, za tým napíšeme = (rovná sa) a za ním hodnotu, ktorú chceme nastaviť prvku.

Indexovanie v textových reťazcoch

Textové reťazce fungujú pri indexovaní podobne ako zoznamy. Vieš pristupovať k jednotlivým znakom pomocou indexu.

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()

Funkcia 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.