itertools
新しいイテレータを作る
itertools.count(start, step)
itertools.cycle(iter)
itertools.repeat(elem, [n])
itertools.chain(iterA, iterB, ...)
itertools.islice(iter, [start], stop, [step])
itertools.tee(iter, [n])
要素に対して関数を呼ぶ
itertools.starmap(func, iter)
要素を選択する
itertools.filterfalse(predicate, iter)
itertools.takewhile(predicate, iter)
itertools.dropwhile(predicate, iter)
itertools.compress(data, selectors)
組合せ関数
itertools.combinations(iterable, r)
itertools.permutations(iterable, r=None)
itertools.combinations_with_replacement(iterable, r)
要素をグループ分けする
itertools.groupby(iter, key_func=None)
etc
itertools.product