У меня есть большой ByteArray, х и хочу назначить кусочек его срез другого ByteArray, уломтика медленнее, используя memoryview (Python 3.5.0)
x = bytearray(10**7) #something else in practice
y = bytearray(6*10**6)
y[::6] = x[:2*10**6:2]
Я фигурный с помощью memoryview будет быстрее, и действительно
memoryview(x)[:2*10**6:2]
очень быстро. Тем не менее,
y[::6] = memoryview(x)[:2*10**6:2]
занимает 5 раз до тех пор, как y[::6] = x[:2*10**6:2]
- Могу ли я что-то отсутствует, или это замедление ошибка в Python?
- Каков самый быстрый способ сделать это в Python (a), если я хочу повторно назначить известное число 0 и (b) вообще?
Я бы посмотрел на использование numpy для быстрых операций на больших числовых массивах. – interjay