Форум сайта python.su
Как оптимальнее преобразовать список-вектор в список-куб с равными размерностями или с заданными?
Либо как обращаться с 1D списком как с 3D? если возможно, без копирования
т.е.
->[[] [] []]
Пока придумал только вложенный цикл, но мне это не нравится
Офлайн
Это у тебя не куб, размерность твоей матрицы (3,3,1). Сделать ее можно вот так:
from Numeric import array
arr = array(range(1, 10))
arr.shape = (3, 3, 1)
print arr
Отредактировано (Сен. 22, 2009 17:33:09)
Офлайн
pasaranaxСпасибо! Оказалось просто. Пока изучаю…
Это у тебя не куб, размерность твоей матрицы (3,3,1). Сделать ее можно вот так:как сделать куб - сам догадаешься :)from Numeric import array
arr = array(range(1, 10))
arr.shape = (3, 3, 1)
print arr
посмотри в книжке Романа Сузи раздел про численные методы (он маленький) и/или документацию к модулю Numeric
Офлайн
Nick2009если штатными методами (у меня нет “нумерик” в комплекте), то можно так:
->[[] [] []]
from itertools import groupby
arr = range(1,10)
print [[[x[1]] for x in g] for k,g in groupby( [[a,b] for a,b in enumerate( arr )], lambda x:x[0]/3 )]
Отредактировано (Сен. 24, 2009 22:24:17)
Офлайн