嵌套for循环(list comprehension)在python中; 外循环不循环

use*_*559 3 python nested list-comprehension

我试图比较来自两个不同文件的列的数据.我试过用a for,现在用了list comprehension.

问题是外部for循环没有被迭代,但内部循环不是.我已经单独检查过,迭代很好; 但是一旦我窝了,我就会遇到这个问题.我有什么遗漏吗?

import csv

newInv  = csv.reader(open("new.csv", "r"))
origInv = csv.reader(open("old.csv", "r"))

print [ oldrow[5] + " " + newrow[3]  for oldrow in origInv for newrow in newInv ]
Run Code Online (Sandbox Code Playgroud)

jco*_*ado 9

请注意,在您的解决方案中,for循环是嵌套的,因此这就是为什么一个循环似乎迭代而另一个循环似乎没有.

您需要使用什么来一次获取两个迭代器的一个元素itertools.izip:

[ oldrow[5] + " " + newrow[3]
for oldrow, newrow in itertools.izip(origInv, newInv)]
Run Code Online (Sandbox Code Playgroud)