Автор оригинала: Pankaj Kumar.
Python не имеет явного структуры данных массива. Это потому, что мы можем сделать то же самое со списком.
Список содержит коллекцию элементов, а также поддерживает Add/Update/Delete/Search. Вот почему в Python нельзя использовать отдельную структуру данных в Python для поддержки массивов.
Массив содержит элементы одного и того же типа, но список Python позволяет элементы различных типов. Это единственная функция мудрые разницы между массивом и списком. Но это не выключатель сделки и не гарантирует новую поддержку структуры данных в Python.
Тем не менее, модуль Array Python может использоваться для создания массива, такой как объект для целочисленных, поплавок и символов Unicode.
Модуль массива Python
Модуль массива Python позволяет нам создать массив с ограничением на типов данных. Есть только несколько типов данных, поддерживаемых этим модулем.
Код типа Unicode был устарел в Python 3.3, и он будет удален в выпуске Python 4.0.
Итак, мы можем создать массив целых чисел и поплавок, используя модуль массива. Давайте начнем с модулем Array и посмотрите на все операции, которые он обеспечивает.
1. Создание массива
Синтаксис для создания массива – Array.array (TypeCode, stass_list)
Отказ
import array # creating array int_array = array.array('i', [1, 2, 3, 4]) float_array = array.array('f', [1.1, 2.2, 3.3, 4.4]) # unicode array support is deprecated and will be deleted in Python 4 unicode_array = array.array('u', ['\u0394', '\u2167', '\u007B'])
2. Массив печати и его тип
Если мы распечатаем объект массива, это дает нам информацию о типоре и его элементах. Давайте распечатаем массивы, созданные выше, а также распечатайте тип объекта, используя встроенный тип ().
# printing array print(int_array) print(float_array) print(unicode_array) print(type(int_array))
Выход:
array('i', [1, 2, 3, 4]) array('f', [1.100000023841858, 2.200000047683716, 3.299999952316284, 4.400000095367432]) array('u', 'ΔⅧ{')
3. Элементы массива печати
Мы можем печатать элементы массива, используя петлю для цикла.
import array int_array = array.array('i', [1, 2, 3, 4]) for a in int_array: print(a)
Мы также можем получить доступ к элементу, используя свой индекс. Мы можем использовать индексы для печати элементов массива.
for b in range(0, len(int_array)): print(f'int_array[{b}] = {int_array[b]}')
Выход:
int_array[0] = 1 int_array[1] = 2 int_array[2] = 3 int_array[3] = 4
4. Установка и добавления элементов
Мы можем использовать функцию INSERT () для вставки элемента по указанному индексу. Элементы из указанного индекса смещаются вправо на одну позицию.
int_array = array.array('i', [1, 2, 3, 4]) int_array.insert(0, -1) # -1,1,2,3,4 int_array.insert(2, -2) # -1,1,-2,2,3,4 print(int_array)
Выход : Массив («I», [-1, 1, -2, 2, 3, 4])
Если вам нужно добавить элемент в конце массива, используйте функцию Append ().
int_array = array.array('i', [1, 2, 3, 4]) int_array.append(-3) print(int_array) # array('i', [1, 2, 3, 4, -3])
5. Массив Python поддерживает отрицательный индекс
Мы можем получить доступ к элементам массива Python с помощью отрицательного индекса.
int_array = array.array('i', [10, 20, 30, 40, 50, 60, 70, 80]) print(int_array[-2]) # 70 print(int_array[-5]) # 40
6. Удаление элементов массива
Мы можем использовать метод удаления () для удаления элемента массива.
int_array = array.array('i', [1, 2, 3, 4]) int_array.remove(2) print(int_array) # array('i', [1, 3, 4])
Если элемент отсутствует в массиве, ValueError Поднялся.
int_array = array.array('i', [1, 2, 3, 4]) try: int_array.remove(20) except ValueError as ve: print(ve)
Выход : array.remove (x): x не в массиве
Мы также можем использовать функцию POP () для удаления элемента в данном индексе. Эта функция возвращает элемент, удаленный из массива. Если мы не укажем индекс, последний элемент удален и возвращен.
int_array = array.array('i', [1, 2, 3, 4]) last_element = int_array.pop() print(last_element) # 4 print(int_array) # array('i', [1, 2, 3]) second_element = int_array.pop(1) print(second_element) # 2 print(int_array) # array('i', [1, 3])
7. Нарезание массива
Array Python поддерживает нарезку нарезки и возвращает новый массив с подэлементами. Оригинальный массив остается неизменным. Нарезка также поддерживает негативные показатели.
int_array = array.array('i', [0, 1, 2, 3, 4, 5]) print(int_array[3:]) # array('i', [3, 4, 5]) print(int_array[:2]) # array('i', [0, 1]) print(int_array[1:3]) # array('i', [1, 2]) # negative index slicing print(int_array[-2:]) # array('i', [4, 5]) print(int_array[:-2]) # array('i', [0, 1, 2, 3])
8. Поиск элемента в массиве
Мы можем использовать функцию index (), чтобы найти индекс первого возникновения элемента. Если элемент отсутствует в массиве, ValueError повышен.
int_array = array.array('i', [0, 1, 2, 3, 1, 2]) print(f'1 is found at index {int_array.index(1)}') try: print(int_array.index(20)) except ValueError as ve: print(ve)
Выход:
1 is found at index 1 array.index(x): x not in array
9. Обновление стоимости в указанном индексе
Мы можем использовать индекс массива с оператором назначения для обновления значения в индексе. Если индекс недействителен, indexError повышен.
int_array = array.array('i', [0, 1, 2, 3, 1, 2]) int_array[0] = -1 int_array[1] = -2 print(int_array) try: int_array[10] = -10 except IndexError as ie: print(ie)
Выход:
array('i', [-1, -2, 2, 3, 1, 2]) array assignment index out of range
10. Реверсируя массив
Мы можем использовать функцию Reverse (), чтобы изменить элементы массива.
int_array = array.array('i', [0, 1, 2, 3]) int_array.reverse() print(int_array) # array('i', [3, 2, 1, 0])
11. Считать возникновение элемента
Мы можем использовать функцию Count (), чтобы получить количество вхождений значения в массиве.
int_array = array.array('i', [0, 1, 1, 0]) print(int_array.count(1)) # 2 print(int_array.count(10)) # 0
12. Расширение массива, добавив счет
Мы можем использовать функцию Extend () для добавления значений из тотера на конец массива.
array1 = array.array('i', [0, 1]) array2 = array.array('i', [2, 3, 4]) array1.extend(array2) print(array1) # array('i', [0, 1, 2, 3, 4]) print(array2) # array('i', [2, 3, 4]) array2.extend([1, 2]) print(array2) # array('i', [2, 3, 4, 1, 2]) array1 = array.array('i', [1]) array1.extend(set([0,0,0,2])) print(array1) # array('i', [1, 0, 2])
13. Преобразование массива в список
Мы можем использовать функцию Tolist () для преобразования массива в список.
int_array = array.array('i', [0, 1, 2, 3]) print(int_array.tolist()) # [0, 1, 2, 3]
Заключение
Модуль Array Python помогает нам создавать массивы для целых чисел и плавать. Но мы можем выполнить те же операции со списком. Таким образом, вы должны использовать модуль массива только тогда, когда вы хотите, чтобы данные были ограничены данным типом.