Теоретический материал
Вложенные генераторы двумерных массивов
Для создания двумерных массивов можно использовать вложенные генераторы, разместив
генератор списка, являющегося строкой, внутри генератора для строк. Например,
сделать список из n
строк и m
столбцов при помощи генератора,
создающего список из n
элементов, каждый элемент которого является списком из
m
нулей:
[ [0] * m for i in range(n)]
Но при этом внутренний список также можно создать при помощи, например, такого генератора:
[0 for j in range(m)]
. Вложив один генератор в другой получим вложенные генераторы:
[ [0 for j in range(m)] for i in range(n)]
Но если число 0 заменить на некоторое выражение, зависящее от i
(номер строки) и j
(номер столбца), то можно получить список, заполненный
по некоторой формуле.
В этом листке вам нужно будет придумать генераторы для заданных двумерных массивов.
Например, пусть нужно задать следующий массив (для удобства добавлены дополнительные пробелы между элементами):
0 0 0 0 0 0 0 1 2 3 4 5 0 2 4 6 8 10 0 3 6 9 12 15 0 4 8 12 16 20
В этом массиве n = 5
строк, m = 6
столбцов, и элемент
в строке i
и столбце j
вычисляется по формуле:
A[i][j] = i * j
.
Для создания такого массива можно использовать генератор:
[[ i * j for j in range(m)] for i in range(n)]