我有以下代碼,其中我使用了兩個 for 循環來遍歷數組并將元素復制到另一個偏移位置處,如何在沒有 for 循環的情況下完成此操作以加快計算速度?for i in range (data1.shape[0]): for j in range (data1.shape[1]): try: translated[i+x_cord][j+y_cord]=data1[i][j] except: pass在這里,我只是在做圖像翻譯。
1 回答

長風秋雁
TA貢獻1757條經驗 獲得超7個贊
這將:
translated[x_cord:min(x_cord+data1.shape[0],translated.shape[0]), y_cord:min(y_cord+data1.shape[1],translated.shape[1])] = data1[:min(data1.shape[0],translated.shape[0]-x_cord), :min(data1.shape[1],translated.shape[1]-y_cord)]
這些min
東西是為了確保你不會越界(類似于你的try
, except
),剩下的就是基本的切片......
添加回答
舉報
0/150
提交
取消