Массив и список индексов

Дан двумерный массив, нужно вытащить нужные вектора из массива,которые находятся в двумерном списке(без кастования списка к массиву)

input :

np.array([[1,2] ,[3,4],[4,5], [6,7]]) ; [[1,2], [0,2],[2,3]]

output:

np.array([ [[3,4] ,[4,5]], [[1,2],[4,5]], [[4,5],[6,7]]])

Ответы (2 шт):

Автор решения: passant

Я не знаю, что такое "кастование к массиву" и почему его нельзя делать, но я бы делал, к примеру, вот так

arr=np.array([[1,2] ,[3,4],[4,5], [6,7]]) 
index=[[1,2], [0,2],[2,3]] 
output=np.zeros(shape=((len(index),2,2)),dtype=int)
for i  in enumerate(index):
    output[i[0],0]=arr[i[1][0]]
    output[i[0],1]=arr[i[1][1]]   
print(output)

Результат

[[[3 4]
  [4 5]]

 [[1 2]
  [4 5]]

 [[4 5]
  [6 7]]]
→ Ссылка
Автор решения: Sh VavilenT

arr = np.array([[1,2] ,[3,4],[4,5], [6,7]])

index=[[1,2], [0,2],[2,3]]

output = np.array([arr[i] for i in index])

→ Ссылка