我有两个大约80 000行(和几列)的2D数组。我有两个嵌套的for循环需要很长时间才能处理(因为80000 * 80000很大)。
第一个块从一些外部数据创建一个数组。
arrayIn = [[]]
del arrayIn[0]
# use arrayIn.append() to add mixed lists to each row
# example arrayIn.append(['dogs2443', 'cats12332', 3])
然后我将此数组中的ID复制到一个新数组中,但检查以确保只添加一次ID。我尝试使用in
命令,但它没有用,因为我正在将String与数组元素进行比较。
allNodes = [[]]
del allNodes[0]
for row in arrayIn
add = True
for node in allNodes:
if row[0] == node[0]:
add = False
if add:
allNodes.append(row[0])
然后它将索引从新数组复制回原始数组,以便更容易地访问新数组中的元素:
for row in arrayIn:
for index, node in enumerate(allNodes, start=0)
if row[0] == node[0]
row[0] = index
所以有很多事情:
del
第一个元素。Numpy
或其他什么?答案 0 :(得分:0)
你有没有想过使用发电机?然后你可以管道不同的步骤/阶段,这将导致显着的加速。