小编典典

在Python中获取生成器的第n个项

python

有没有一种语法更简洁的方式编写以下内容?

gen = (i for i in xrange(10))
index = 5
for i, v in enumerate(gen):
    if i is index:
        return v

生成器应该具有一个gen[index]表达式,该表达式充当列表,但在功能上与上述代码相同,这似乎是很自然的。


阅读 136

收藏
2020-12-20

共1个答案

小编典典

一种方法是使用
itertools.islice

>>> gen = (x for x in range(10))
>>> index = 5
>>> next(itertools.islice(gen, index, None))
5
2020-12-20