获取迭代器的前n个元素的最简单方法

Alf*_*lfe 5 python iterator generator

如何以最简单的方式获取迭代器(生成器)的前n个元素?有没有比这更简单的事情,比如说

def firstN(iterator, n):
  for i in range(n):
    yield iterator.next()

print list(firstN(it, 3))
Run Code Online (Sandbox Code Playgroud)

我想不出更好的方式,但也许有?也许是一种功能形式?

Mar*_*ers 9

用途itertools.islice():

from itertools import islice
print list(islice(it, 3))
Run Code Online (Sandbox Code Playgroud)

这将产生接下来的3个元素it,然后停止.