3.0のメモ

  • C:\Python30\Lib\test\test_itertools.pyからのメモ
>>> from itertools import *
>>> 
>>> seq = range(4)
>>> a, b = tee(seq)
>>> next(b)
0
>>> list(zip(a, cycle(b)))
[(0, 1), (1, 2), (2, 3), (3, 1)]
>>>
>>> seq = [1, 2, 3]
>>> pairs = [(2**i, x) for i, x in enumerate(seq)]
>>> for n in range(2**len(pairs)):
...   print([x for m, x in pairs if m&n])
...
[]
[1]
[2]
[1, 2]
[3]
[1, 3]
[2, 3]
[1, 2, 3]
>>> 
>>> def take(n, iterable):
...   return list(islice(iterable, n))
...
>>> take(5, count())
[0, 1, 2, 3, 4]