Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Массивы в Python: создание, манипуляция и продвинутые операции — экспертное руководство

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

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

Когда использовать массивы Python

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

Синтаксис создания массива

Импортируйте модуль array и вызовите array.array(typecode, initializer):

import array
my_array = array.array('i', [1, 2, 3])

Коды типов массивов

Код типаТип PythonТип CМин. размер (байт)
'u'Unicode символPy_UNICODE2
'b'IntSigned char1
'B'IntUnsigned char1
'h'IntSigned short2
'l'IntSigned long4
'L'IntUnsigned long4
'q'IntSigned long long8
'Q'IntUnsigned long long8
'H'IntUnsigned short2
'f'FloatFloat4
'd'FloatDouble8
'i'IntSigned int2
'I'IntUnsigned int2

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

Элементы доступны по нулевой индексации:

import array
balance = array.array('i', [300, 200, 100])
print(balance[1]) # 200

Также поддерживаются отрицательные индексы и срезы:

import array
arr = array.array('q', [3, 9, 6, 5, 20, 13, 19, 22, 30, 25])
print(arr[1:4]) # array('q', [9, 6, 5])
print(arr[7:10]) # array('q', [22, 30, 25])

Вставка элементов

Вставьте значение в конкретную позицию с insert(index, value):

import array
balance = array.array('i', [300, 200, 100])
balance.insert(2, 150)
print(balance) # array('i', [300, 200, 150, 100])

Изменение элементов

Массивы изменяемы; присвойте новое значение напрямую:

import array
arr = array.array('b', [3, 6, 4, 8, 10])
arr[0] = 99
print(arr) # array('b', [99, 6, 4, 8, 10])

Конкатенация также поддерживается:

import array
first = array.array('b', [4, 6, 8])
second = array.array('b', [9, 12, 15])
combined = first + second
print(combined) # array('b', [4, 6, 8, 9, 12, 15])

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

Pop удаляет элемент по индексу:

import array
arr = array.array('b', [20, 25, 30])
arr.pop(2)
print(arr) # array('b', [20, 25])

Del удаляет элемент по позиции:

import array
arr = array.array('b', [10, 4, 5, 5, 7])
del arr[4]
print(arr) # array('b', [10, 4, 5, 5])

Remove удаляет первое вхождение значения:

import array
arr = array.array('b', [2, 3, 4])
arr.remove(3)
print(arr) # array('b', [2, 4])

Поиск и индексация

Найдите индекс значения с index(value):

import array
arr = array.array('b', [2, 3, 4, 5, 6])
print(arr.index(3)) # 1

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

Разворот на месте:

import array
arr = array.array('b', [1, 2, 3])
arr.reverse()
print(arr) # array('b', [3, 2, 1])

Преобразование в Unicode

Только массивы типа 'u' поддерживают tounicode():

from array import array
p = array('u', [u'\u0050', u'\u0059', u'\u0054', u'\u0048', u'\u004F', u'\u004E'])
print(p) # array('u', 'PYTHON')
print(p.tounicode()) # PYTHON

Подсчёт элементов

Подсчёт вхождений с count(x):

import array
arr = array.array('b', [2, 3, 5, 4, 3, 3, 3])
print(arr.count(3)) # 4

Обход массива

Итерация через for-цикл:

import array
arr = array.array('i', [300, 200, 100])
for x in arr:
    print(x)

Резюме

Python

  1. Массивы в C++: объявление, инициализация и работа с указателями
  2. Динамическое выделение массивов в C++: практическое руководство с примерами кода
  3. Мастерство метода str.count() в Python: как подсчитывать символы и подстроки с примерами
  4. Мастерство строк форматирования format() в Python: понятные примеры
  5. Мастерство метода String.find() в Python: синтаксис, примеры и альтернативы
  6. Освоение лямбда-функций Python: практические примеры и лучшие практики
  7. Функция round() в Python: подробное объяснение с практическими примерами
  8. Освоение функции map() в Python: синтаксис, примеры и лучшие практики
  9. Python timeit(): измерение времени выполнения с практическими примерами
  10. Понимание type() и isinstance() в Python: практические примеры