嗯 这里有一个关于列表理解的答案,但是它消失了。
这里:
[i for i,x in enumerate(testlist) if x == 1]
例:
>>> testlist[1, 2, 3, 5, 3, 1, 2, 1, 6]>>> [i for i,x in enumerate(testlist) if x == 1][0, 5, 7]
更新:
好的,您需要一个生成器表达式,我们将有一个生成器表达式。再次在for循环中,这是列表理解:
>>> for i in [i for i,x in enumerate(testlist) if x == 1]:... print i... 057
现在我们将构建一个生成器…
>>> (i for i,x in enumerate(testlist) if x == 1)<generator object at 0x6b508>>>> for i in (i for i,x in enumerate(testlist) if x == 1):... print i... 057
令人高兴的是,我们可以将其分配给变量,然后从那里使用它…
>>> gen = (i for i,x in enumerate(testlist) if x == 1)>>> for i in gen: print i... 057
并且以为我曾经写过FORTRAN。



