Wielowymiarowe listy w Pythonie
Elementy listy mogą być nie tylko
łańcuchami znaków i liczbami, ale także innymi listami. W tym
przypadku taka lista list nazywana jest
wielowymiarową. W następującym przykładzie
lista lst składa się z trzech elementów,
które z kolei są listami:
lst = [
['a', 'b', 'c'],
['d', 'e', 'f'],
['g', 'h', 'i'],
]
W zależności od poziomu zagnieżdżenia listy mogą być dwuwymiarowe - lista list, trójwymiarowe - lista list list (i tak dalej - czterowymiarowe, pięciowymiarowe itp.).
Przedstawiona powyżej lista jest dwuwymiarowa, ponieważ wewnątrz jednej listy znajdują się inne podlisty, w których nie ma innych list. Aby wypisać dowolny element z listy dwuwymiarowej należy użyć już nie jednej pary nawiasów kwadratowych, a dwóch:
print(lst[0][1]) # wypisze 'b'
print(lst[1][2]) # wypisze 'f'
Również w listach wielowymiarowych mogą znajdować się inne iterowalne obiekty, na przykład, słowniki, zbiory i krotki. Zmieńmy drugi element listy na słownik:
lst = [
['a', 'b', 'c'],
{'d': 1, 'e': 2, 'f': 3},
['g', 'h', 'i'],
]
Aby uzyskać element słownika, należy najpierw dostać się do samego słownika za pomocą pierwszych nawiasów kwadratowych. Następnie w drugich nawiasach kwadratowych podajemy klucz słownika:
print(lst[1]['d']) # wypisze 1
Dana jest lista:
lst = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
]
Wypisz z niej liczby 2, 4
i 8.
Dana jest lista:
lst = [
['a', 'b'],
{'c': 1, 'd': 2},
{'e': 3, 'f': 4}
]
Wypisz z niej liczby 1, 3.