Python массивы все команды

№18 Массивы / Уроки по Python для начинающих

Примечание: Python не имеет встроенной поддержки массивов, но вместо этого можно использовать списки (list) Python.

Массивы используются для хранения нескольких значений в одной переменной:

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

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

car1 = "Ford"; car2 = "Volvo"; car3 = "BMW"; 

Однако, что, если вы хотите проскочить через все машины и найти конкретную? А что, если у вас было бы не 3 автомобиля а 300?

Решение представляет собой массив!
Массив может содержать много значений под одним именем, и вы так же можете получить доступ к значениям по индексу.

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

Вы ссылаетесь на элемент массива, ссылаясь на индекс.
Получим значение первого элемента массива:

Изменим значение первого элемента массива:

Длина массива

Используйте метод len() чтобы вернуть длину массива (число элементов массива).
Выведем число элементов в массиве cars :

Примечание: Длина массива всегда больше, чем индекс последнего элемента.

Циклы элементов массива

Вы можете использовать цикл for для прохода по всем элементам массива.
Выведем каждый элемент из цикла cars :

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

Вы можете использовать метод append() для добавления элементов в массив.
Добавим еще один элемент в массив cars :

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

Используйте метод pop() для того, чтобы удалить элементы из массива.
Удалим второй элемент из массива cars :

Так же вы можете использовать метод remove() для того, чтобы убрать элемент массива.
Удалим элемент со значением “Volvo”:

Примечание: Метод remove() удаляет только первое вхождение указанного значения.

Методы массива

В Python есть набор встроенных методов, которые вы можете использовать при работе с lists/arrays.

Метод Значение
append() Добавляет элементы в конец списка
clear() Удаляет все элементы в списке
copy() Возвращает копию списка
count() Возвращает число элементов с определенным значением
extend() Добавляет элементы списка в конец текущего списка
index() Возвращает индекс первого элемента с определенным значением
insert() Добавляет элемент в определенную позицию
pop() Удаляет элемент по индексу
remove() Убирает элементы по значению
reverse() Разворачивает порядок в списке
sort() Сортирует список
Читайте также:  How to Make a Nice "date picker" in PHP?

Примечание: В Python нет встроенной поддержки для массивов, вместо этого можно использовать Python List.

Источник

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

Массивы в Python — это структуры данных, которые могут содержать несколько значений одного типа. Часто их ошибочно принимают за списки или массивы Numpy. Технически массивы в Python отличаются от них обоих. Итак, давайте посмотрим, что такое массивы в Python и как их реализовать.

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

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

Например, если вам нужно хранить целые числа от 1 до 100, вы не сможете явно запомнить 100 имен переменных. Но вы можете легко сохранить их, используя массив.

Базовая структура массива в Python

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

Что собой представляют массивы в Python?

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

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

А теперь обсудим вопрос, который первым приходит в голову.

Можно ли считать список Python аналогом массива?

Массивы и списки Python хранят значения схожим образом. Но между ними есть одно ключевое различие. Оно заключено в том, что они хранят. Список может хранить в себе одновременно значения многих разных типов: строки, целые числа, числа с плавающей точкой и так далее. А вот массив может хранить значения только одного типа. То есть мы можем создать массив строк, массив целых чисел и так далее, но в одном массиве может храниться только один тип данных.

В Python также весьма популярны массивы библиотеки Numpy, которые широко используются в Data Science.

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

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

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

Читайте также:  Test

Это означает, что мы импортировали все функции из модуля array .

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

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

А при импорте всех функций синтаксис будет такой:

a = array(data type,value list)

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

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

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

Код типа данных Тип данных Python Размер в байтах
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

Полученный результат – это значение массива под индексом 1 (второе по счету). Оно равно 2.1.

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

Основные операции с массивами: добавление/изменение, удаление, перебор в цикле, конкатенация, срезы

Нахождение длины массива

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

a = arr.array('d', [1.1 , 2.1 ,3.1]) len(a) # Результат: # 3

Было возвращено значение 3, которое соответствует количеству элементов данного массива.

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

Мы можем добавлять элементы в массив при помощи функций append() , extend() и insert() .

Функция 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])

Результат представляет собой исходный массив с добавленным в его конец значением, которое было передано в функцию append() . Если необходимо добавить в массив более одного элемента, используется функция 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])

В полученном массиве все три элемента были добавлены в конец исходного массива.

Но бывают ситуации, когда вам необходимо добавить элемент на определенную позицию массива. Для этого используется функция insert() . Эта функция вставляет элемент по соответствующему индексу в массиве. Она принимает 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 по индексу 2 (третье значение массива).

Читайте также:  Integer to long casting in java

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

Конкатенация массивов

При помощи оператора + два массива можно соединить друг с другом.

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("Array c wp-block-heading" >Удаление элементов массива 

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

Функция 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() , вызванная без параметра, удалила последнее значение, которое мы вывели в консоль при помощи функции print() . Вторая же функция удалила значение по индексу 3, которое мы также вывели на экран.

Функция 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.

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

Срезы массива

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

Примечание редакции: подробнее о срезах читайте в статье “Срез массива в Python”.

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])

В результате были выведены элементы под индексами 0, 1 и 2, которые находятся соответственно на 1, 2 и третьей позиции в исходном массиве.

Итерация по массиву

При помощи цикла for мы можем произвести итерацию по массиву.

a = arr.array('d', [1.1, 2.2, 3.8, 3.1, 3.7, 1.2, 4.6]) print("All values") for x in a: print(x) print("specific values") for x in a[1:3]: print(x)
All values 1.1 2.2 3.8 3.1 3.7 1.2 4.6 specific values 2.2 3.8

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

1 комментарий к “Что такое массивы в Python и как их использовать”

Источник

Оцените статью