Python: двумерные и многомерные массивы | OTUS
👋 Канал OTUS в Telegram!
Посты от приглашенных гостей из IT-тусовки, полезные статьи, подборки вакансий от партнеров ➞
Подробнее

Курсы

Программирование
Разработчик игр на Unity
-40%
Vue.js разработчик
-40%
React.js разработчик
-40%
Архитектор программного обеспечения
-40%
Архитектура и шаблоны проектирования
-40%
Разработчик C++
-40%
Разработчик Node.js
-40%
Scala-разработчик
-30%
Backend-разработка на Kotlin
-30%
Программист 1С
-30%
Symfony Framework
-30%
Разработчик на Spring Framework
-20%
Разработчик Golang
-25%
C# ASP.NET Core разработчик
-25%
iOS-разработчик. Базовый курс
-25%
VOIP инженер Базы данных AWS для разработчиков Cloud Solution Architecture Agile Project Manager в IT Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

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-массивы».

Python_970x90-20219-8b1a8e.png

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

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

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

Автор
0 комментариев
Для комментирования необходимо авторизоваться