假设有一个大列表,我想对其进行迭代。
>>> x=[]
>>> for i in x:
print(x)
但是因为列表太大,使用生成器是最好的方式:
>>> g=(i for i in range(10))
>>> g.__next__()
0
但是迭代次数有问题。
因为我不知道应该使用 g.__next__()
多少次,所以我需要一些更动态的东西。
例如:
for i in x:
作为迭代到结束的循环,x 的长度并不重要。
我如何使用生成器进行类似的迭代?
最佳答案
您可以将 for
语法与生成器一起使用:
>>> g=(i for i in range(10))
>>> g
<generator object <genexpr> at 0x7fd70d42b0f0>
>>> for i in g:
... print i
...
0
1
2
3
4
5
6
7
8
9
关于python - 如何迭代生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31780191/