More itertools

Пакет утилит для манипуляций с итераторами. Дополняет набор из стандартной библиотеке [itertools]. В основном возвращаются итенраторы, генераторы или списки, состоящие из объектов, итераторов или генераторов.

В наборе:

>>> more_itertools.split_into([1,2,3,4,5,6], [1,2,3])
>>> res = mi.split_when([1, 2, 3, 3, 2, 5, 2, 4, 2], lambda x, y: x > y)
>>> print(list(res))
[[1, 2, 3, 3], [2, 5], [2, 4], [2]]
>>> iterable = ['a1', 'b1', 'c1', 'a2', 'b2', 'c2', 'b3']
>>> s = mi.bucket(iterable, key=lambda x: x[0])
>>> print(list(s))
['a', 'b', 'c']
>>> print(list(s['b']))
['b1', 'b2', 'b3']
>>> res = mi.grouper('ABCDEFG', 3, 'x')
>>> print(list(res))
[('A', 'B', 'C'), ('D', 'E', 'F'), ('G', 'x', 'x')]
>>> p = mi.peekable(['a', 'b'])
>>> print(p.peek())
a
>>> print(p.peek())
a
>>> print(next(p))
a
>>> p.prepend('12', '13')
>>> print(p.peek())
12
>>> print(next(p))
12

>>> На главную