Zagnieżdżone wyrażenia listowe
Świetnie! Masz już solidne podstawy składni wyrażeń listowych. Czas poćwiczyć nieco więcej. W tym ćwiczeniu napiszesz wyrażenie listowe wewnątrz innego wyrażenia listowego – czyli tzw. zagnieżdżone wyrażenia listowe. Brzmi skomplikowanie, ale dasz radę!
Odejdźmy na chwilę od łańcuchów tekstowych. Listy świetnie nadają się do reprezentowania obiektów wielowymiarowych, takich jak macierze. W Pythonie macierz można zapisać jako listę list. Na przykład macierz 5 × 5 z wartościami od 0 do 4 w każdym wierszu wygląda tak:
matrix = [[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4]]
Twoim zadaniem jest odtworzenie tej macierzy za pomocą zagnieżdżonych wyrażeń listowych. Przypomnij sobie, że jeden wiersz macierzy możesz utworzyć za pomocą pojedynczego wyrażenia listowego. Aby zbudować listę list, wystarczy podać to wyrażenie listowe jako wyrażenie wyjściowe zewnętrznego wyrażenia listowego:
[[wyrażenie wyjściowe] for zmienna iteratora in iterowalny obiekt]
Zwróć uwagę, że tutaj wyrażenie wyjściowe jest samo w sobie wyrażeniem listowym.
To ćwiczenie jest częścią kursu
Zestaw narzędzi Pythona
Instrukcje do ćwiczenia
- We wewnętrznym wyrażeniu listowym – czyli w wyrażeniu wyjściowym zagnieżdżonego wyrażenia listowego – utwórz listę wartości od
0do4za pomocą funkcjirange(). Użyjcoljako zmiennej iteratora. - W części iterowalnej zagnieżdżonego wyrażenia listowego użyj funkcji
range(), aby uzyskać 5 wierszy – czyli utwórz listę wartości od0do4. Użyjrowjako zmiennej iteratora. Pamiętaj, że ta zmienna nie będzie potrzebna do tworzenia wartości w liście list.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Create a 5 x 5 matrix using a list of lists: matrix
matrix = [[____] ____]
# Print the matrix
for row in matrix:
print(row)