我有以下代码,其中我使用了两个 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
提交
取消
