|
|||||||
Вложенные генераторы двумерных массивов
Время создания: 31.08.2017 21:01
Текстовые метки: knowledge
Раздел: Python - Types data - Массивы
Запись: xintrea/mytetra_db_mcold/master/base/15042024798gkqi59vik/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Для создания двумерных массивов можно использовать вложенные генераторы, разместив генератор списка, являющегося строкой, внутри генератора всех строк. Напомним, что сделать список из n строк и m столбцов можно при помощи генератора, создающего список из nэлементов, каждый элемент которого является списком из m нулей: 1 2 [[0] * m for i in range(n)] Но при этом внутренний список также можно создать при помощи, например, такого генератора: [0 for j in range(m)]. Вложив один генератор в другой, получим вложенные генераторы: 1 2 [[0 for j in range(m)] for i in range(n)] Но если число 0 заменить на некоторое выражение, зависящее от i (номер строки) и j (номер столбца), то можно получить список, заполненный по некоторой формуле. Например, пусть нужно задать следующий массив (для удобства добавлены дополнительные пробелы между элементами): 1 2 3 4 5 60 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. Для создания такого массива можно использовать генератор: 1 2 [[i * j for j in range(m)] for i in range(n)]
|
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|