array¶
Модуль array определяет массивы в python. Массивы очень похожи на списки, но с ограничением на тип данных и размер каждого элемента.
Размер и тип элемента в массиве определяется при его создании и может принимать следующие значения:
| Код типа | Тип в C | Тип в python | Минимальный размер в байтах |
|---|---|---|---|
b | signed char | int | 1 |
B | unsigned char | int | 1 |
h | signed short | int | 2 |
H | unsigned short | int | 2 |
i | signed int | int | 2 |
I | unsigned int | int | 2 |
l | signed long | int | 4 |
L | unsigned long | int | 4 |
q | signed long long | int | 8 |
Q | unsigned long long | int | 8 |
f | float | float | 4 |
d | double | float | 8 |
Класс array.array(TypeCode [, инициализатор]) - новый массив, элементы которого ограничены TypeCode, и инициализатор, который должен быть списком, объектом, который поддерживает интерфейс буфера, или итерируемый объект.
array.typecodes- строка, содержащая все возможные типы в массиве.
Массивы изменяемы. Массивы поддерживают все списковые методы (индексация, срезы, умножения, итерации), и другие методы.
Методы массивов (array) в python¶
array.typecodeTypeCodeсимвол, использованный при создании массива.array.itemsize- размер в байтах одного элемента в массиве.
array.append(x)- добавление элемента в конец массива.
array.buffer_info()- кортеж (ячейка памяти, длина). Полезно для низкоуровневых операций.
array.byteswap()- изменить порядок следования байтов в каждом элементе массива. Полезно при чтении данных из файла, написанного на машине с другим порядком байтов.
array.count(x)- возвращает количество вхождений
xв массив. array.extend(iter)- добавление элементов из объекта в массив.
array.frombytes(b)- делает массив
arrayиз массива байт. Количество байт должно быть кратно размеру одного элемента в массиве. array.fromfile(F, N)- читает
Nэлементов из файла и добавляет их в конец массива. Файл должен быть открыт на бинарное чтение. Если доступно меньшеNэлементов, генерируется исключениеEOFError, но элементы, которые были доступны, добавляются в массив. array.fromlist(список)- добавление элементов из списка.
array.index(x)- номер первого вхождения
xв массив. array.insert(n, x)- включить новый пункт со значением
xв массиве перед номеромn. Отрицательные значения рассматриваются относительно конца массива. array.pop(i)- удаляет i-ый элемент из массива и возвращает его. По умолчанию удаляется последний элемент.
array.remove(x)- удалить первое вхождение
xиз массива. array.reverse()- обратный порядок элементов в массиве.
array.tobytes()- преобразование к байтам.
array.tofile(f)- запись массива в открытый файл.
array.tolist()- преобразование массива в список.
Вот и всё, что можно было рассказать про массивы. Они используются редко, когда нужно достичь высокой скорости работы. В остальных случаях массивы можно заменить другими типами данных: списками, кортежами, строками.