Vícerozměrné seznamy v Pythonu

Prvky seznamu nemusí být pouze řetězce a čísla, ale také seznamy. V tomto případě se takový seznam seznamů nazývá vícerozměrný. V následujícím příkladu seznam lst se skládá ze tří prvků, které jsou samy o sobě seznamy:

pythonlst = [
  ['a', 'b', 'c'],
  ['d', 'e', 'f'],
  ['g', 'h', 'i'],
]

V závislosti na úrovni vnoření mohou být seznamy dvourozměrné - seznam seznamů, trojrozměrné - seznam seznamů seznamů (a tak dále - čtyřrozměrné, pětirozměrné atd.).

Výše uvedený seznam je dvourozměrný, protože uvnitř jednoho seznamu jsou umístěny další podseznamy, které neobsahují další seznamy. Chcete-li vypsat libovolný prvek z dvourozměrného seznamu, je třeba napsat již ne jednu dvojici hranatých závorek, ale dvě:

pythonprint(lst[0][1]) # vypíše 'b'
print(lst[1][2]) # vypíše 'f'

Také ve vícerozměrných seznamech mohou být další iterovatelné objekty, například slovníky, množiny a n-tice. Pojďme změnit druhý prvek seznamu na slovník:

pythonlst = [
  ['a', 'b', 'c'],
  {'d': 1, 'e': 2, 'f': 3},
  ['g', 'h', 'i'],
]

Chcete-li získat prvek slovníku, je třeba nejprve se dostat k samotnému slovníku pomocí prvních hranatých závorek. Poté ve druhých hranatých závorkách uvedeme klíč slovníku:

pythonprint(lst[1]['d']) # vypíše 1
Задание 1

Dán seznam:

pythonlst = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9],
]

Vypište z něj čísla 2, 4 a 8.

Задание 2

Dán seznam:

pythonlst = [
  ['a', 'b'],
  {'c': 1, 'd': 2},
  {'e': 3, 'f': 4}
]

Vypište z něj čísla 1, 3.