我有一些代码,其中有大量数据。然后,我必须对其进行迭代。我指出我无法更快地做到这一点。所以我在问是否有任何方法可以帮助我解决这个问题,或者我该如何加快速度。
基本上我正在获得如下所示的3D阵列:
a=
[[[ 70 70 71]
[ 70 70 71]
[ 70 70 71]
...,
类似于500x500
然后我正在使用
a = numpy.assarray(a,int).tolist()
[70 70 71]-就像一个元素,我比较每个循环,所以我使用a [y] [x] [0],a [y] [x] [1],a [y] [x ] [2]使用以下方法获取这些值:
for y in enumerate(a):
for x in range(0,500):
if a[y][x][0] == 70 and a[y][x][1] == 70 and a[y][x][2] == 71:
dosomething
或者在其他方法中,我使用不带tolist()的 a = numpy.assarray(a,int),然后执行以下操作:
for i,e in enumerate(a):
element = numpy.asarray(["".join(row) for row in e.astype(str)],int).tolist()
for x in range(0,len(element)):
if element[x] == something:
dosomething
第二种方法将给我安装3个元素的“ 707071”。有没有更快的方法可以做到这一点?