Python のitertoolsモジュールは、ジェネレーターを使用した iterable/iterator の処理に関して多くの機能を提供します。例えば、
permutations(range(3)) --> 012 021 102 120 201 210
combinations('ABCD', 2) --> AB AC AD BC BD CD
[list(g) for k, g in groupby('AAAABBBCCD')] --> AAAA BBB CC D
Rubyで同等のものは何ですか?
同等とは、高速でメモリ効率が高いことを意味します (Python の itertools モジュールは C で記述されています)。