Разрезание массива пустотелых вдоль динамически указанной оси

Я хотел бы динамически нарезать массив кусочков вдоль определенной оси. Учитывая это:

axis = 2
start = 5
end = 10

Я хочу достичь того же результата, что и этот:

# m is some matrix
m[:,:,5:10]

Используя что-то вроде этого:

slc = tuple(:,) * len(m.shape)
slc[axis] = slice(start,end)
m[slc]

Но: значения не могут быть помещены в кортеж, поэтому я не могу понять, как построить срез.

Ответы на вопрос(3)

Ваш ответ на вопрос