Многомерни списъци в Python

Елементите на списъка могат да бъдат не само низове и числа, но и списъци. В този случай такъв списък от списъци се нарича многомерен. В следващия пример списъкът lst се състои от три елемента, които от своя страна са списъци:

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

В зависимост от нивото на вложеност списъците могат да бъдат двумерни - списък от списъци, тримерни - списък от списъци от списъци (и така нататък - четиримерни, петмерни и т.н.).

Даденият по-горе списък е двумерен, тъй като вътре в един списък са разположени други подсписъци, в които няма други списъци. За да изведете даден елемент от двумерен списък, трябва да използвате не една двойка квадратни скоби, а две:

pythonprint(lst[0][1]) # ще изведе 'b'
print(lst[1][2]) # ще изведе 'f'

Също така в многомерните списъци могат да се намират други итерируеми обекти, например, речници, множества и кортежи. Нека променим втория елемент на списъка на речник:

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

За да получите елемент от речника, трябва първо да достигнете до самия речник с помощта на първите квадратни скоби. След това във вторите квадратни скоби записваме ключа на речника:

pythonprint(lst[1]['d']) # ще изведе 1
Задание 1

Даден е списък:

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

Изведете от него числата 2, 4 и 8.

Задание 2

Даден е списък:

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

Изведете от него числата 1, 3.