Я хочу спросить кое-что, что связано с этим вопросом, отправленным время назад Операция над массивными массивами содержит строки с другим размером . Дело в том, что мне нужно выполнить некоторые операции с массивами-пустышками, которые содержат строки разного размера.
Стандартный способ, такой как "list2 * list3 * np.exp (list1)", не работает, поскольку строкиот другого размера, и вариант, который работает, использует zip. См. Приведенный ниже код.
import numpy as np
import time
list1 = np.array([[2.,0.,3.5,3],[3.,4.2,5.,7.1,5.]])
list2 = np.array([[2,3,3,0],[3,8,5.1,7.6,1.2]])
list3 = np.array([[1,3,8,3],[3,4,9,0,0]])
start_time = time.time()
c =[]
for i in range(len(list1)):
c.append([list2*list3*np.exp(list1) for list1, list2,list3 in zip(list1[i], list2[i],list3[i])])
print("--- %s seconds ---"% (time.time()-start_time))
Я хочу спросить, существует ли гораздо более эффективный способ выполнения этих операций, позволяющий избежать зацикливания и выполнения более тупой информации. Спасибо!