Возьмем два массива произвольной формы, но где каждое из измерений второго меньше или равно размерам первого. Например:
np.random.seed(8675309)
a = np.random.choice(10, 3**3).reshape(3,3,3)
b = np.zeros(2**3).reshape(2,2,2)
Мне нужно следующее:
c = a[:b.shape[0], :b.shape[1], :b.shape[2]]
, но для массива b
с произвольной формой, потенциально с меньшими размерами. Как я мог сделать это программно? Такой, что
def reference_slicer(a, b):
???
return c
reference_slicer(a,b) == c