在Python中获取生成器的第n个项
发布于 2021-01-29 19:25:07
有没有一种语法更简洁的方式编写以下内容?
gen = (i for i in xrange(10))
index = 5
for i, v in enumerate(gen):
if i is index:
return v
生成器应该具有一个gen[index]
表达式,该表达式充当列表,但在功能上与上述代码相同,这似乎是很自然的。
关注者
0
被浏览
53
1 个回答
-
一种方法是使用
itertools.islice
>>> gen = (x for x in range(10)) >>> index = 5 >>> next(itertools.islice(gen, index, None)) 5