Шаг 102.
Python: тонкости программирования. Общие структуры ... . Массивоподобные структуры данных. array.array - элементарные типизированные массивы

    На этом шаге мы рассмотрим особенности этого класса.

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

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


См. документацию Python "array.array": https://docs.python.org/3/library/array.html.

    Из-за этого ограничения объекты array.array со многими элементами более пространственно эффективны, чем списки и кортежи. Хранящиеся в них элементы плотно упакованы, и это может быть полезно, если вам нужно хранить много элементов одного и того же типа.

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

>>> import array
>>> arr = array.array('f', (1.0, 1.5, 2.0, 2.5))
>>> arr[1]
1.5
# Массивы имеют хороший метод repr:
>>> arr
array('f', [1.0, 1.5, 2.0, 2.5])
# Массивы могут изменяться:
>>> arr[1] = 23.0
>>> arr
array('f', [1.0, 23.0, 2.0, 2.5])
>>> del arr[1]
>>> arr
array('f', [1.0, 2.0, 2.5])
>>> arr.append(42.0)
>>> arr
array('f', [1.0, 2.0, 2.5, 42.0])
# Массивы - это "типизированные" структуры данных:
>>> arr[1] = 'привет'
Traceback (most recent call last):
.   .   .   .
TypeError: must be real number, not str

    На следующем шаге мы рассмотрим класс str.




Предыдущий шаг Содержание