У меня есть генератор, похожий на рецепт itertools 'pairwise
, который дает (s0,s1), (s1,s2), (s2, s3)...
. Я хочу создать из него еще один генератор, который даст исходную последовательность s0, s1, s2, s3,...
.Обратный «парный» генератор
from itertools import *
def pairwise(iterable):
a, b = tee(iterable)
next(b, None)
return izip(a, b)
a = [1,2,3,4]
for item in unpair(pairwise(a)):
print item # should print 1,2,3,4
Как написать unpair
в качестве генератора, не прибегая к спискам?
Почему вы должны сделать это? Можете ли вы дать больше контекста? –