itertools モジュール(1)
先週ちょっと紹介したitertoolsモジュールを少しずつ見ていくことにしよう。 cf. http://docs.python.jp/2.7/library/itertools.html
無限イテレータ
まずは、itertools.count。初期値から1ずつカウントアップしていく。
>>> for i in itertools.count(0):
... if i > 10:
... break
... print i
...
0
1
2
3
4
5
6
7
8
9
10
第2引数にステップを指定することも可能。
>>> for i in itertools.count(0, 3):
... if i > 10:
... break
... print i
...
0
3
6
9
itertolls.cycle はシーケンスを無限に繰り返す。
>>> i = 0
>>> for x in itertools.cycle(['foo', 'bar', 'baz']):
... i += 1
... if i > 10:
... break
... print x
...
foo
bar
baz
foo
bar
baz
foo
bar
baz
foo
itertools.repeat は、オブジェクトを無限に繰り返す。
>>> i = 0
>>> for x in itertools.repeat("Hello"):
... i += 1
... if i > 10:
... break
... print x
...
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
第2引数に回数を指定することも可能。
>>> for x in itertools.repeat("hello", 5):
... print x
...
hello
hello
hello
hello
hello
itertools の関数は数が多いので今日はここまで。
