У меня есть этот бит кода
def build_tree_base(blocks, x, y, z):
indicies = [
(x ,z ,y ),
(x ,z+1,y ),
(x ,z ,y+1),
(x ,z+1,y+1),
(x+1,z ,y ),
(x+1,z+1,y ),
(x+1,z ,y+1),
(x+1,z+1,y+1),
]
children = [blocks[i] for i in indicies]
return Node(children=children)
Там, где блоки - это 3-мерный массив NumPy.
Что я хотел бы сделать, это заменить понимание списка чем-то вроде NUMPY.take, однако, take, кажется, имеет дело только с единичными индексами измерения.Есть ли что-то вроде take, которое будет работать с многомерными индексами?
Также я знаю, что вы могли бы сделать это с транспонированием, срезом, а затем изменить форму, но это было медленно, поэтому я ищу лучший вариант.