千巷猫影
嗯 这里有一个关于列表理解的答案,但是它消失了。这里: [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。