Fatiar uma matriz numpy ao longo de um eixo especificado dinamicamente

Gostaria de dividir dinamicamente uma matriz numpy ao longo de um eixo específico. Dado isto:

axis = 2
start = 5
end = 10

Eu quero alcançar o mesmo resultado que isto:

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

Usando algo parecido com isto:

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

Mas o: valores não podem ser colocados em uma tupla, então não consigo descobrir como criar a fatia.

questionAnswers(3)

yourAnswerToTheQuestion