Čtení na doma - vícerozměrné struktury
Na rozdíl od tabulek můžeme jít v seznamech do více rozměrů než do dvou. Uvažujme například seznam vysledky
, který obsahuje jména a výsledky prvních čtyř běžců maratonu. Seznam je vícerozměrný. Na nulté pozici každého z vnořených seznamů je jméno běžce a na první pozici je seznam s časem běžce, který obsahuje počet hodin, minut a sekund, které běžec potřeboval na překonání trati.
vysledky = [
["Brunner Radek", [3, 0, 9]],
["Urban Jaroslav", [3, 11, 44]],
["Andrle Jakub", [3, 12, 21]],
["Fiala Stanislav", [3, 13, 31]]
]
Pojďme si nyní rozkreslit jednotlivé úrovně seznamu. Obrázek v plné velikosti je zde.
Můžeme se podívat i na indexování pomocí záporných indexů.
Vyberme ze seznamu běžce na nulté pozici a uložme ho do proměnné vitez
.
vitez = vysledky[0]
Tím nám "zmizelo" jedno patro.
Nyní do proměnné cas_viteze
uložíme čas vítěze.
cas_viteze = vysledky[0][1]
Tím nám "zmizelo" další patro a dopracovali jsme se k jednorozměrnému seznamu.
Nyní použijeme slicing a vytáhneme si závodníky, kteří byli "na bedně", tj. tři nejrychlejší běžce. To uděláme následujícím příkazem:
vitezove = vysledky[:3]
Tentokrát nám z obrázku "nezmizelo" celé patro. Výběr pomocí rozsahu totiž zachová dimenzi původního seznamu.
Obrázek v plné velikosti je zde.