Как изменить массив питон

Массивы Python

Основы

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

shapito_list = [1, 'qwerty', 4/3, [345, ['a', ]]] print(shapito_list) # Вывод: [1, 'qwerty', 1.3333333333333333, [345, ['a', ]]]

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

Существует несколько способ создать массив. Ниже приведены примеры как это можно сделать.

можно_так = [1, 2, 3, 4, 5] можно_так_2 = list('итерируемый объект') а_можно_и_так = [i for i in range(5)] print('можно_так:', можно_так) print('можно_так_2:', можно_так_2) print('а_можно_и_так:', а_можно_и_так) print('можно_так[0]:', можно_так[0]) print('а_можно_и_так[3]:', а_можно_и_так[3]) # Вывод: можно_так: [1, 2, 3, 4, 5] можно_так_2: ['и', 'т', 'е', 'р', 'и', 'р', 'у', 'е', 'м', 'ы', 'й', ' ', 'о', 'б', 'ъ', 'е', 'к', 'т'] а_можно_и_так: [0, 1, 2, 3, 4] можно_так[0]: 1 а_можно_и_так[3]: 3

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

Двухмерный массив в Python можно объявить следующим образом.

example_array = [[-1, 0, 0, 1], [2, 3, 5, 8]] print(example_array[0]) print(example_array[1]) print(example_array[0][3]) # Вывод: [-1, 0, 0, 1] [2, 3, 5, 8] 1
example_array = [[[-1, 0], [0, 1]], [[2, 3], [5, 8]]] print(example_array[0]) print(example_array[1]) print(example_array[0][1]) print(example_array[0][1][0]) # Вывод: [[-1, 0], [0, 1]] [[2, 3], [5, 8]] [0, 1] 0

Операции с массивами

Давайте теперь рассмотрим операции, которые Пайтон позволяет выполнять над массивами.

Обход массива с использованием цикла for

Мы можем использовать цикл for для обхода элементов массива.

example_array = [1, 2, 3] for i in range(len(example_array)): print(example_array[i]) # Вывод: 1 2 3

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

example_array = [1, 2, 3] for i in example_array: print(i) # Вывод: 1 2 3

Обход многомерного массива

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

example_array = [[1, 2], [3, 4]] for i in example_array: for x in i: print(x) # Вывод: 1 2 3 4

Добавление

Мы можем использовать функцию insert() для вставки элемента по указанному индексу. Элементы из указанного индекса сдвигаются вправо на одну позицию.

example_array = [[1, 2], [3, 4]] example_array.insert(0, -1) example_array.insert(2, [-1, 13, 64]) print(example_array) # Вывод: [-1, [1, 2], [-1, 13, 64], [3, 4]]
example_array = [[1, 2], [3, 4]] example_array.append(-1) example_array.append([-1, 13, 64]) print(example_array) # Вывод: [[1, 2], [3, 4], -1, [-1, 13, 64]]
example_array = [1, 2, 3, 4] example_array.extend([5, 6]) print(example_array) # Вывод: [1, 2, 3, 4, 5, 6]

Определение размера

Используйте метод len() чтобы вернуть длину массива (число элементов массива).
Не стоит путать размер массива с его размерностью!

example_array = [[1, 2], [3, 4]] print('Размер массива:', len(example_array)) example_array.append(-1) print('Размер массива:', len(example_array)) example_array.append([-1, 13, 64]) print('Размер массива:', len(example_array)) # Вывод: Размер массива: 2 Размер массива: 3 Размер массива: 4

Поскольку индексация элементов начинается с нуля, длина массива всегда на единицу больше, чем индекс последнего элемента.

example_array = [[1, 2], [3, 4]] print('Равна ли длина массива номеру последнего элемента + 1?', len(example_array) is (example_array.index(example_array[-1]) + 1)) example_array.append(-1) print('Увеличили размер массива.') print('Равна ли теперь длина массива номеру последнего элемента + 1?', len(example_array) is (example_array.index(example_array[-1]) + 1)) # Вывод: Равна ли длина массива номеру последнего элемента + 1? True Увеличили размер массива. Равна ли теперь длина массива номеру последнего элемента + 1? True

Небольшое пояснение: метод списка .index() возвращает индекс элемента, значение которого совпадает с тем, которое передали методу. Здесь мы передаём значение последнего элемента и, таким образом, получаем индекс последнего элемента. Будьте осторожны: если в списке есть повторяющиеся значения, этот приём не сработает!

Срез

Срез Python предоставляет особый способ создания массива из другого массива.

example_array = [[1, 2], [3, 4]] print(example_array[::-1]) print(example_array[1:]) print(example_array[0][:-1]) # Вывод: [[3, 4], [1, 2]] [[3, 4]] [1]

Функция pop

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

example_array = [1, 2, 6, 3, 4] print(example_array.pop(4)) print(example_array) # Вывод: 4 [1, 2, 6, 3]

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

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

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

Метод Значение
append() Добавляет элементы в конец списка
clear() Удаляет все элементы в списке
copy() Возвращает копию списка
count() Возвращает число элементов с определенным значением
extend() Добавляет элементы списка в конец текущего списка
index() Возвращает индекс первого элемента с определенным значением
insert() Добавляет элемент в определенную позицию
pop() Удаляет элемент по индексу
remove() Убирает элементы по значению
reverse() Разворачивает порядок в списке
sort() Сортирует список

Модуль array

Если Вам всё-таки нужен именно классический массив, вы можете использовать встроенный модуль array. Он почти не отличается от структуры list, за исключением, пожалуй, объявления.
Вот небольшая демонстрация:

import array example_array = array.array('i', [1, 2, 6, 3, 4]) # превый аргумент указывает на тип элементов. i означает integer example_array.insert(0, -1) print('После вставки:', example_array) example_array.append(-1) print('После добавления в конец:', example_array) example_array.extend([5, 6]) print('После объединения со списком:', example_array) print('Удалён элемент:', example_array.pop(4)) print('После удаления элемента:', example_array) print('Срез:', example_array[0:4]) # Вывод: После вставки: array('i', [-1, 1, 2, 6, 3, 4]) После добавления в конец: array('i', [-1, 1, 2, 6, 3, 4, -1]) После объединения со списком: array('i', [-1, 1, 2, 6, 3, 4, -1, 5, 6]) Удалён элемент: 3 После удаления элемента: array('i', [-1, 1, 2, 6, 4, -1, 5, 6]) Срез: array('i', [-1, 1, 2, 6])

Типы элементов массива

Элементы массива в модуле array могут быть следующих типов:

Код типа Тип в C Тип в python
‘b’ signed char int
‘B’ unsigned char int
‘h’ signed short int
‘H’ unsigned short int
‘i’ signed int int
‘I’ unsigned int int
‘l’ signed long int
‘L’ unsigned long int
‘q’ signed long long int
‘Q’ unsigned long long int
‘f’ float float
‘d’ double float

Как Вы можете видеть, со строками модуль не работает.

Источник

Массивы в Python – основы работы

Массив популярен в большинстве языков программирования, таких как C / C ++, JavaScript и т. д.

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

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

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

автомобиль1 = “Ламборджини”

автомобиль2 = “Бугатти”

автомобиль3 = “Тойота”

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

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

Элемент – каждая составляющая, хранящаяся в массиве, называется элементом.

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

Представление массива

Массив можно объявлять по-разному и на разных языках. Следует учитывать следующие важные моменты:

  • Индекс начинается с 0.
  • Мы можем получить доступ к каждому элементу через его индекс.
  • Длина массива определяет емкость для хранения элементов.

Операции с массивами

Некоторые из основных операций, поддерживаемых массивом, следующие:

  • Траверс – он печатает все элементы один за другим.
  • Вставка – добавляет элемент по заданному индексу.
  • Удаление – удаляет элемент по данному индексу.
  • Поиск – поиск элемента по заданному индексу или по значению.
  • Обновление – обновляет элемент по заданному индексу.

Массив можно создать в Python, импортировав модуль массива в программу.

from array import * arrayName = array(typecode, [initializers])

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

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

import array as arr a = arr.array('i', [2, 4, 6, 8]) print("First element:", a[0]) print("Second element:", a[1]) print("Second last element:", a[-1])
First element: 2 Second element: 4 Second last element: 8

Объяснение: В приведенном выше примере мы импортировали массив, определили переменную с именем «a», которая содержит элементы массива, и распечатали элементы, обращаясь к элементам через индексы массива.

Как изменить или добавить элементы

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

import array as arr numbers = arr.array('i', [1, 2, 3, 5, 7, 10]) # changing first element numbers[0] = 0 print(numbers) # Output: array('i', [0, 2, 3, 5, 7, 10]) # changing 3rd to 5th element numbers[2:5] = arr.array('i', [4, 6, 8]) print(numbers) # Output: array('i', [0, 2, 4, 6, 8, 10])
array('i', [0, 2, 3, 5, 7, 10]) array('i' ,[0, 2, 4, 6, 8, 10])

Объяснение: В приведенном выше примере мы импортировали массив и определили переменную с именем «numbers», которая содержит значение массива. Если мы захотим изменить или добавить элементы в массив, мы можем сделать это, определив конкретный индекс массива, в котором хотим изменить или добавить элементы.

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

Комбинация массивов экономит много времени. Массив может уменьшить общий размер кода.

Как удалить элементы?

Элементы могут быть удалены из массива с помощью оператора Python del. Если мы хотим удалить какое-либо значение из массива, сделаем это, используя индексы определенного элемента.

import array as arr number = arr.array('i', [1, 2, 3, 3, 4]) del number[2] # removing third element print(number) # Output: array('i', [1, 2, 3, 4])

Объяснение: В приведенном выше примере мы импортировали массив и определили переменную с именем «number», в которой хранятся значения массива. Здесь, используя оператор del, мы удаляем третий элемент [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("Array c EnlighterJSRAW" data-enlighter-language="python">Array c= array('d', [1.1, 2.1, 3.1, 2.6, 7.8, 3.7, 8.6])

В приведенном выше примере мы определили переменные с именами «a, b, c», которые содержат значения массива.

import array as arr x = arr.array('i', [4, 7, 19, 22]) print("First element:", x[0]) print("Second element:", x[1]) print("Second last element:", x[-1])
First element: 4 Second element: 7 Second last element: 22

Объяснение: Мы импортировали массив и определили переменную с именем «x», которая содержит значение массива, а затем напечатали элементы, используя индексы.

Источник

Читайте также:  Создать датасет csv python
Оцените статью