Python: двумерные и многомерные массивы | OTUS
Скидка до 15% на курсы декабря и января
❄️ До 28.12 Забрать скидку! →
Выбрать курс

Python: двумерные и многомерные массивы

Иногда для правильного представления набора данных простого одномерного массива недостаточно. В таких случаях используют двумерные и многомерные массивы. Однако в Python 3 таких массивов, по сути, не существует. Но это не проблема, так как базовые возможности платформы позволяют легко создавать двумерные списки.

Двумерный массив в Python

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

a1 = []
for j in range(5):
    a2 = []
    for i in range(5):
        a2.append(0)
    a1.append(a2)

Мы можем увидеть, что главная идея реализации двумерного набора данных — создание нескольких списков a2 внутри одного большого списка a1. Далее, посредством 2-х циклов for осуществляется автозаполнение нулями матрицы, имеющей размерность 5×5. И эту задачу успешно решают методы append и range — первый добавляет в список новый элемент (0), второй устанавливает его величину (5).

Следует сказать, что для каждого нового for-цикла применяется своя временная переменная, которая выполняет представление текущего элемента внутренних (i) или внешнего (j) списков. Чтобы обратиться к требуемой ячейке многомерного списка, надо указать её координаты в квадратных скобках, ориентируясь при этом на строки и столбцы: a1[1][2].

Многомерный массив в Python

В предыдущем случае мы говорили о двумерном массиве, который представлен в виде сложного списка. Собственно говоря, в случае с многомерным массивом суть не изменилась, поэтому его можно реализовать по аналогичному принципу «списки внутри списка». В следующем примере мы создадим трехмерный массив, заполняемый нулевыми элементами посредством 3-х циклов for. В результате программа сформирует матрицу размерностью 5×5×5.

a1 = []
for k in range(5):
    a2 = []
    for j in range(5):
        a3 = []
        for i in range(5):
            a3.append(0)
        a2.append(a3)
    a1.append(a3)

Как и в случае с 2-мерным массивом в Python, мы можем обращаться к требуемой ячейке многомерного массива, используя индексы в квадратных скобках: a1[4][2][3].

Выводы

Итак, для взаимодействия с данными и наборами данных одного типа в Python часто применяют массивы. Стандартная библиотека платформы даёт возможность успешно работать с такой структурой. При этом поддерживается многомерное представление списков, а ограничения на количество уровней так называемого массива отсутствует.

Источники: — «Многомерные массивы в Python»; — «Python-массивы».

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто
Новогодние скидки в Otus!-15% ❄️
Успейте забрать свою скидку до 28.12 →