Вкладені генератори списків
Чудово! На цьому етапі ви вже добре розумієте базовий синтаксис генераторів списків. Давайте просунемося ще трохи. У цій вправі ви напишете генератор списку всередині іншого генератора списку — тобто створите вкладені генератори. Звучить трохи хитро, але у вас усе вийде!
Відволічімося на мить від рядків. Один зі способів використання списків — представлення багатовимірних об'єктів, зокрема матриць. У Python матрицю можна подати як список списків. Наприклад, матрицю 5 x 5 зі значеннями від 0 до 4 у кожному рядку можна записати так:
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]]
Ваше завдання — відтворити цю матрицю за допомогою вкладених генераторів списків. Згадайте, що один рядок матриці можна створити єдиним генератором списку. Щоб отримати список списків, достатньо використати цей генератор як вираз результату у загальному генераторі списку:
[[вираз результату] for ітераційна змінна in ітерований об'єкт]
Зверніть увагу, що тут вираз результату сам є генератором списку.
Ця вправа є частиною курсу
Набір інструментів Python
Інструкції до вправи
- У внутрішньому генераторі списку — тобто у виразі результату вкладеного генератора — створіть список значень від
0до4за допомогоюrange(). Використайтеcolяк ітераційну змінну. - В частині ітерований об'єкт вашого вкладеного генератора використайте
range(), щоб порахувати 5 рядків — тобто створіть список значень від0до4. Використайтеrowяк ітераційну змінну; зверніть увагу, що ця змінна вам не знадобиться для створення значень у списку списків.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Create a 5 x 5 matrix using a list of lists: matrix
matrix = [[____] ____]
# Print the matrix
for row in matrix:
print(row)