PYTHON. Двумерные массивы

PYTHON. Двумерные массивы. Двумерные массивы или матрица — это набор однотипных данных, имеющий общее имя, доступ к элементам которого осуществляется по двум индексам.  В языке программирования Python таблицу можно представить в виде списка строк, каждый элемент которого является в свою очередь списком, например, чисел. Приведём таблицу, в которой создаётся числовая таблица из двух строк и трех столбцов, с которой производятся различные действия.

1 2 3
4 5 6

Представим таблицу в виде кода:

 

Здесь первая строка списка a[0] является списком из чисел [1, 2, 3]. То есть a[0][0] == 1, значение a[0][1] == 2a[0][2] == 3a[1][0] == 4a[1][1] == 5a[1][2] == 6.

Продемонстрируем, как выводить двумерный массив, используя это удобное свойство цикла for:

Естественно, для вывода одной строки можно воспользоваться методом join():

Пусть программа получает на вход двумерный массив в виде n строк, каждая из которых содержит m чисел, разделенных пробелами. Считать их можно следующим образом:

Можно сделать то же самое и при помощи генератора:

 

Для создания двумерных массивов можно использовать вложенные генераторы, разместив генератор списка, являющегося строкой, внутри генератора всех строк. Напомним, что сделать список из n строк и m столбцов можно при помощи генератора, создающего список из n элементов, каждый элемент которого является списком из m нулей:

Но при этом внутренний список также можно создать при помощи, например, такого генератора: [0 for j in range(m)]. Вложив один генератор в другой, получим вложенные генераторы:

Но если число 0 заменить на некоторое выражение, зависящее от i (номер строки) и j (номер столбца), то можно получить список, заполненный по некоторой формуле.

Например, пусть нужно задать следующий массив (для удобства добавлены дополнительные пробелы между элементами):

В этом массиве n = 5 строк, m = 6 столбцов, и элемент в строке i и столбце jвычисляется по формуле: a[i][j] = i * j.

Для создания такого массива можно использовать генератор:

 

Добавить комментарий