Я только что натолкнулся на аналогичную потребность и закодировал это:
def nDimensionsMatrix(dims, elem_count, ptr=[]):
if (dims > 1):
for i in range(elem_count[dims-1]):
empty = []
ptr.append(empty)
nDimensionsMatrix(dims-1, elem_count, empty)
return ptr
elif dims == 1:
ptr.extend([0 for i in range(elem_count[dims])])
return ptr
matrix = nDimensionsMatrix(3, (2,2,2))
Я не смотрю на скорость, только функциональность;)
Я хочу создать матрицу с N измерениями и инициализировать 0 (a elem_count количество элементов в каждом измерении).
Надеюсь, это кому-то поможет