如何以最简单的方式获取迭代器(生成器)的第一个 n 元素?是否有比e更简单的东西。克。
def firstN(iterator, n):
for i in range(n):
yield iterator.next()
print list(firstN(it, 3))
我想不出更好的方式,但也许有?也许是一种功能形式?
答案 0 :(得分:9)
答案 1 :(得分:1)
不使用itertools
:
(t[0] for t in zip(L, range(3)))
答案 2 :(得分:0)
我现在就自己来了:
[ iterator.next() for i in range(3) ]
(如果您只需要另一个迭代器,则只需使用(…)
而不是[…]
。)
我认为这很适合我。