所以我有两个ids的ids列表以及我正在循环的其他信息。我尝试匹配id并根据id连接分配行值。
下面的例子只是对我实际做的一般测试,但一旦我理解了如何解决我需要的东西,我就可以将它应用到我的例子中。
for row in l1:
for info in l2:
if row[0]==info[0]:
row[1]=info[1]
每个列表中分别有大约11,000行,因此循环遍历l1然后循环遍历l2列表中的每一行以匹配id需要很长时间。我想知道是否有话要说,好吧,因为l1 id number 3被迭代通过并且该进程完成了该id,然后当l1中的下一行被迭代时l2现在甚至不会搜索id号3已经在它之前的行中进行了处理。
我通常在SQL中运行这样的进程,它有点像自联接......
如果有人投票,他们至少可以告诉我原因!
答案 0 :(得分:1)
如果您添加,请详细说明上一个答案
break
在if语句的末尾,一旦if语句执行,它将停止内部for循环
for info in l2
继续使用外部for循环
for row in l1
答案 1 :(得分:0)
如果我没错,并且正确地得到了你的问题,你可以使用循环流控制结构,比如
break
和
continue
例如,在你的情况下,你可以在匹配发生时打破内部循环,因此你的代码不会浪费更多时间循环遍历所有l2。