Найти - Пользователи
Полная версия: Бинарную строку в список интов
Начало » Python для новичков » Бинарную строку в список интов
1 2 3 4
py.user.next
там речь про то, что массивы будут перегружены проверками и преобразованиями, если там всё время будет учитываться порядок

odnochlen
но советчикам пофиг, они советуют, а не читают.
они не пишут, им только что-то кажется там и всё

array должен быть быстрым
а если нужно работать с порядком, то делается производный класс
odnochlen
Порядок нужно учитывать один раз при (де)сериализации. При чтении это можно сделать на месте, а при записи нужно создавать временный массив (или 2 раза делать byteswap). Этот вариант их не устроил.
py.user.next
odnochlen
Порядок нужно учитывать один раз при (де)сериализации.
если порядок задаётся при создании массива, то массивы могут иметь разный порядок
массивы созданы не только для чтения и записи, но и для операций над ними

>>> a = array.array('L', range(0, 3))
>>> b = array.array('L', range(3, 6))
>>> c = array.array('L', range(6, 9))
>>> a + b + c
array('L', [0, 1, 2, 3, 4, 5, 6, 7, 8])
>>> a * 2 + b
array('L', [0, 1, 2, 0, 1, 2, 3, 4, 5])
>>> a.extend(b)
>>> a
array('L', [0, 1, 2, 3, 4, 5])
>>>
вот здесь у них один порядок

>>> a = array.array('L', range(0, 3))
>>> b = array.array('L', range(3, 6))
>>> a
array('L', [0, 1, 2])
>>> b
array('L', [3, 4, 5])
>>> a.byteswap()
>>> a
array('L', [0, 16777216, 33554432])
>>> b
array('L', [3, 4, 5])
>>> d = a + b
>>> d
array('L', [0, 16777216, 33554432, 3, 4, 5])
>>>
и здесь у них один порядок

поэтому нет проверок порядка, а если нет проверок, то и преобразования не нужны
odnochlen
Ты другими словами выразил то же, что я сказал.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB