popov . dev

Главная

Библиотека

Статьи

Как использовать...

Как использовать массивы в Python на примерах

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

Эта статья структурирована следующими разделами, в которых объясняются все аспекты, связанные с массивами:

  1. Зачем использовать массивы в Python?
  2. Что такое массив?
  3. Является ли список Python тем же, что и массив?
  4. Создание массива
  5. Доступ к элементу
  6. Основные операции над массивами

Зачем использовать массивы в Python?

Сочетание массивов с Python может сэкономить вам много времени. Как упоминалось ранее, массивы помогают уменьшить общий размер кода, в то время как Python, в отличие от других языков, помогает избавиться от проблемного синтаксиса. Например: если вам нужно было сохранить целые числа от 1 до 100, вы не сможете явно запомнить 100 имен переменных, поэтому вы можете легко сохранить их, используя массив.

Теперь, когда вы знаете о важности массивов в Python, давайте рассмотрим их более подробно.

Что такое массив?

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

a = arr.array('d', [1.2, 1.3, 2.3])

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

Является ли список Python тем же, что и массив?

Структура данных "массив" в базе python не применяется. Поэтому, когда мы говорим о массивах python, мы обычно подразумеваем списки python.

Однако python предоставляет массивы Numpy, которые представляют собой сетку значений, используемую в Data Science.

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

Массивы в Python могут быть созданы после импорта модуля array:

import array as arr

Функция array(data type, value list) принимает два параметра, первый из которых является типом данных для сохраняемого значения, а второй - списком значений. Тип данных может быть любым, например int, float, double и т.д. Пожалуйста, обратите внимание, что arr - это псевдоним, который используется для удобства использования.

Для создания массива используется следующий синтаксис:

Синтаксис

a = arr.array(data type, value list)

Пример

a = arr.array('d' , [1.1 , 2.1 ,3.1])

Здесь первым параметром является d, который является типом данных, т.е. float, а значения указываются в качестве следующего параметра.

Примечание: Все указанные значения относятся к типу float. Мы не можем указать значения разных типов данных в одном массиве.

В следующей таблице приведены различные типы данных и их коды.

Код типа Тип данных Размер в байтах
i int 2
I int 2
u unicode character 2
h int 2
H int 2
l int 4
L int 4
f float 4
d float 8

Доступ к элементам массива :

Чтобы получить доступ к элементам массива, вам необходимо указать значения индекса. Индексация начинается с 0, а не с 1. Следовательно, номер индекса всегда на 1 меньше длины массива.

Синтаксис

Имя_массива[индекс значение]

Пример

a=arr.array( 'd', [1.1 , 2.1 ,3.1] ) 
a[1]

Вывод

2.1

Возвращаемый результат - это значение, находящееся на втором месте в нашем массиве, которое равно 2.1.

Основные операции с массивами

Существует множество операций, которые могут быть выполнены с массивами, на следующем изображении мы привели основные операции.

Определение длины массива

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

Синтаксис

len(имя_ массива)

Пример

a = arr.array('d', [1.1 , 2.1 ,3.1] ) 
len(a)

Вывод

3

Возвращается значение 3, которое равно количеству элементов массива.

Добавление/ изменение элементов массива

Мы можем добавить значение к массиву, используя функции append(), extend() и insert(i,x).

Функция append() используется, когда нам нужно добавить один элемент в конец массива.

Пример

a = arr.array('d', [1.1 , 2.1 ,3.1] ) 
a.append(3.4) 
print(a)

Вывод

array('d', [1.1, 2.1, 3.1, 3.4])

Полученный массив является исходным массивом с новым значением, добавленным в конце. Чтобы добавить более одного элемента, вы можете использовать функцию extend(). Эта функция принимает список элементов в качестве параметра. Содержимое этого списка - это элементы, которые будут добавлены в массив.

Пример

a = arr.array('d', [1.1 , 2.1 ,3.1] ) 
a.extend([4.5, 6.3, 6.8]) 
print(a)

Вывод

array('d', [1.1, 2.1, 3.1, 4.5, 6.3, 6.8])

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

Однако, когда вам нужно добавить нужный элемент в определенную позицию массива, можно использовать функцию insert(i,x). Эта функция вставляет элемент в соответствующую позицию. Он принимает 2 параметра, где первый - это индекс, в который необходимо вставить элемент, а второй - значение.

Пример

a = arr.array('d', [1.1 , 2.1 ,3.1] ) 
a.insert(2, 3.8) 
print(a)

Вывод

array('d', [1.1, 2.1, 3.8, 3.1])

Полученный массив содержит значение 3.8 в 3-й позиции в массиве.

Массивы также могут быть объединены путем выполнения операции конкатенации массивов.

Объединение массивов (конкатенация)

Любые два массива могут быть объединены с помощью символа +.

Пример

a = arr.array('d',[1.1, 2.1, 3.1, 2.6, 7.8])
b = arr.array('d', [3.7, 8.6])
c = arr.array('d')
c = a+b
print("Массив c = ", c)

Вывод

Массив c = array(‘d’, [1.1, 2.1, 3.1, 2.6, 7.8, 3.7, 8.6])

Полученный массив c содержит объединенные элементы массивов a и b.

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

Элементы массива могут быть удалены с помощью метода pop() или remove(). Разница между этими двумя функциями заключается в том, что первая возвращает удаленное значение, а вторая - нет.

Функция pop() принимает в качестве параметра либо отсутствие параметра, либо значение индекса. Если параметр не задан, эта функция pop() последний элемент и возвращает его. Когда вы явно указываете значение индекса, функция pop() извлекает необходимые элементы и возвращает его.

Пример

a = arr.array('d', [1.1, 2.2, 3.8, 3.1, 3.7, 1.2, 4.6]) 
print(a.pop()) 
print(a.pop(3))

Вывод

4.6 
3.1

Первая функция pop() удаляет последнее значение 4.6 и возвращает то же самое, в то время как вторая возвращает значение в 4-й позиции, которое равно 3.1, и возвращает то же самое.

Функция remove(), с другой стороны, используется для удаления значения, когда нам не нужно возвращать удаленное значение. Эта функция принимает само значение элемента в качестве параметра. Если вы укажете значение индекса в поле параметра, это приведет к ошибке.

Пример

a = arr.array('d', [1.1, 2.1, 3.1]) 
a.remove(1.1) 
print(a)

Вывод

array('d', [2.1,3.1])

Результатом получаем массив, содержащий все элементы, кроме 1.1.

Если вам нужен определенный диапазон значений из массива, вы можете сделать срез массива, чтобы вернуть то же самое.

Срез массива

Массив может быть разделен на части с помощью символа :. Это возвращает диапазон элементов, которые мы указали по индексным номерам.

Пример

a = arr.array('d', [1.1, 2.1, 3.1, 2.6, 7.8]) 
print(a[0:3])

Вывод

array('d', [1.1, 2.1, 3.1])

Результатом будут элементы, находящиеся на 1-й, 2-й и 3-й позициях в массиве.

Циклическое прохождение по массиву

Используя цикл for, мы можем перебирать массив.

Пример

a=arr.array('d', [1.1, 2.2, 3.8, 3.1, 3.7, 1.2, 4.6])

print("Все значения")
for x in a: 
    print(x)

print("Срез значений")
for x in a[1:3]: 
    print(x)

Вывод

Все значения
1.1
2.2
3.8
3.1
3.7
1.2
4.6
Срез значений
2.2
3.8

Приведенный выше вывод показывает результат использования цикла for. Когда мы используем цикл for без каких-либо конкретных параметров, результат содержит все элементы массива, заданные по одному за раз. Во втором цикле for результат содержит только те элементы, которые указаны с использованием значений индекса. Пожалуйста, обратите внимание, что результат не содержит значения по индексу 3.

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

Комментарии

Для того чтобы оставить свое мнение, необходимо зарегистрироваться на сайте