dre*_*boy 0 python iteration iterator yield generator
我正在使用一个返回生成器的库。有没有办法在不使用多个next()语句的情况下从特定迭代开始?
在一个简单的 for 循环中,我可以执行以下操作。
array = [2, 5, 1, 4, 3]
for i in array [2:]:
# do something
Run Code Online (Sandbox Code Playgroud)
在发电机中,我不能做如上所示。相反,我必须使用多个next ()语句从第三个索引开始。尝试执行与 for 循环相同的操作时,我收到一条错误消息,指出“生成器不可编写脚本”。
itertools.islice
这样做,但实际上,它只是next
为您一遍又一遍地调用(尽管在 CPython 中的 C 层,因此它比手动执行要快)。
for i in itertools.islice(mygenerator, 2, None):
# do something
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2650 次 |
最近记录: |