使用したいitertools.islice
:
In [22]: import itertools as it
In [23]: for elem in it.islice(it.count(), 50):
....: print elem,
....:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
itertools.count()
は無限イテレータであることに注意してください。
別の可能性は、次を使用することitertools.takewhile
です。
In [24]: for elem in it.takewhile(lambda x: x < 50, it.count()):
....: print elem,
....:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
明らかに、シーケンスではなくイテラブルを使用していると想定しています。シーケンスがある場合は、組み込みのスライス構文を使用できます。
sequence[:50]
ただし、これには最初に完全なシーケンスを構築する必要があります。これは、場合によっては実行できない場合もあります。