Работа с массивами в python

Массивы в Python — это структуры данных, которые позволяют хранить и организовывать наборы значений одного или нескольких типов данных. Они предназначены для сохранения и хранения, и обработки больших объемов информации, которые могут быть представлены в виде многомерных матриц, векторов или списков.

В Python используется несколько методов создания массивов, среди них есть такие, как списки (lists), массивы NumPy, массивы Pandas, массивы array и т.д. Каждый из этих способов имеет свои особенности и используется для различных целей.

Массивы применяются для решения различных задач, таких как обработка изображений, анализ данных, машинное обучение, научные вычисления и т.д. Они позволяют эффективно хранить и манипулировать данными, а также быстро обрабатывать большие объемы информации.

Создание массивов array в python

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

from array import array

В файл программы.

Массивы (array) могут содержать элементы только одного типа данных, например, только целочисленные значения или только числа с плавающей запятой. Это позволяет экономить память и ускоряет операции обработки данных.

Листинг примера кода:

from array import array
test_array = array('i', [89,92, 16, 12, 13])

Функция array принимает несколько аргументов, первый — это тип создаваемого массива, второй — начальный список его значений. i представляет собой целое знаковое число, занимающее 2 байта памяти. Вместо него можно использовать и другие примитивы, такие как 1-байтовый символ (c) или 4-байтовое число с плавающей точкой (f).

Модуль array предоставляет функции для создания и манипулирования массивами, включая:

  • array()— создание массива;
  • count()— подсчет количества элементов в массиве, имеющих заданное значение;
  • extend()— добавление элементов из другого массива в конец массива;
  • remove()— удаление первого элемента в массиве, имеющего заданное значение;
  • append()— добавление элемента в конец массива;
  • insert()— вставка элемента в массив на заданную позицию;
  • pop()— удаление элемента из массива по заданному индексу и его возвращение;
  • index()— поиск индекса первого элемента в массиве, имеющего заданное значение.

Добавление новых элементов в массив

Для добавления элемента в массив array в Python, можно использовать метод append(). Метод append() добавляет элемент в конец массива.

Пример:

from array import array
test_array = array('i', [41, 42, 43, 44, 45])
# Добавляем элемент 68 в конец массива
test_array.append(68)

Можно также использовать метод extend(), чтобы добавить несколько элементов в конец массива.

from array import array
test_array = array('i', [60, 61, 62, 63, 64])
test_array.extend([65, 66, 67])
# Вывод: array('i', [60, 61, 62, 63, 64, 65, 66, 67])

Если необходимо вставить элемент на определенную позицию в массиве, можно использовать метод insert(). Этот метод принимает два аргумента: индекс, на который нужно вставить элемент, и значение элемента. Пример:

from array import array
test_array = array('i', [2, 8, 24, 96, 63]) # вставляем элемент на позицию с индексом 2
test_array.insert(2, 66)
# Output: array('i', [2, 8,  66, 24, 96, 63])

Удаление элементов из массива

Для удаления элементов из массива в python используется метод pop(). В метод необходимо передать индекс элемента для удаления. При этом массив должен быть создан через конструктор создания массива.

from array import *
data = array('i', [21, 55, 24, 10, 58])
data.pop(3)

После выполнения операции содержимое массива сдвинется так, чтобы количество доступных ячеек памяти совпадало с текущим количеством элементов.

Вывод элементов массива

Когда вы работаете с данными в программе, вам может потребоваться проверить их наличие и корректность. Для этого удобно использовать функцию print(), которая выводит информацию на экран. Функция print() может быть использована для вывода содержимого массива, созданного ранее, что позволяет визуально оценить его содержание и убедиться в том, что данные были сохранены корректно.

Один из способов вывода элементов массива на экран — использование цикла for. Цикл for позволяет перебрать все элементы массива по порядку и выполнить некоторые операции над каждым из них. В данном случае, каждый элемент массива получает временный идентификатор i и передается в функцию print() для вывода на экран.

from array import *
data = array('i', [12, 54, 24, 40, 81])
for i in data:
    print(i)

В результате работы этого кода, на экране появляется массив Python, где каждое целочисленное значение расположено в одном столбце. Это может быть полезно при анализе и обработке данных в программе. Таким образом, функция print() и цикл for являются полезными инструментами в работе с массивами и другими типами данных в Python.

Размер массива

Для определения количества элементов, содержащихся в массиве в Python, используется функция len(), которая возвращает целочисленное значение длины (размера) массива. Это может быть полезно, так как размерность массива может изменяться во время выполнения программы. Чтобы отобразить количество элементов в массиве на экране, можно использовать метод print(). В приведенном выше коде метод print() вызывается с аргументом, который представляет результат выполнения функции len(), что позволяет вывести числовое значение в консоль.

from array import *
new_array = array('i', [266, 85, 64, 64, 86])
print(len(new_array))

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

Иногда для удобного представления информации недостаточно использовать одномерный массив. Язык программирования Python 3 не имеет встроенной поддержки двумерных и многомерных массивов, но можно легко создать двумерный список, используя базовые возможности платформы. В таком списке элементы располагаются в столбцах и строках, как показано на примере. Для создания двумерного набора данных можно создать несколько списков new_array2 внутри одного большого списка new_array1. В данном примере циклы for используются для автоматического заполнения нулями матрицы размером 5×5 при помощи методов append и range. Для доступа к элементу двумерного списка нужно указать его координаты в квадратных скобках, ориентируясь на строки и столбцы: new_array1[1][2]. В каждом цикле for используется временная переменная, которая отвечает за текущий элемент внутреннего (i) или внешнего (j) списка.

new_array1 = []
for j in range(8):
    new_array2 = []
    for i in range(8):
        new_array2.append(0)
    new_array1.append(new_array2)

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

Многомерный массив в языке программирования Python 3 реализуется при помощи создания списков внутри списков, как и двумерный массив. Пример создания трехмерного массива, заполненного нулевыми элементами, демонстрирует использование трех циклов for для заполнения элементов. В результате получается матрица с размерностью 5x5x5. Для доступа к элементам многомерного массива, как и в двумерном массиве, используются индексы в квадратных скобках, например, new_array1[4][2][3].

new_array1 = []
for k in range(5):
    new_array2 = []
    for j in range(5):
        new_array3 = []
        for i in range(5):
            new_array3.append(0)
        new_array2.append(new_array3)
    new_array1.append(new_array3)

Заключение

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