Ваш вопрос немного расплывчат, но посмотрите рецепт grouper
в документации itertools
.
def grouper(n, iterable, fillvalue=None):
"grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
args = [iter(iterable)] * n
return izip_longest(fillvalue=fillvalue, *args)
(Застегнуть один и тот же итератор несколько раз с помощью [iter(iterable)]*n
- это старый прием, но его инкапсуляция в эту функцию позволяет избежать путаницы в коде, и это та же самая точная форма и интерфейс, которые будут использовать многие люди. Это довольно распространенная необходимость, и это немного обидно, что это на самом деле не в модуле itertools
.