>>> import itertools >>> >>> lsts = [ ... [1], ... [2, 3], ... [4, 5, 6] ... ] >>> >>> out = list( ... itertools.chain.from_iterable( ... map(itertools.chain, ... itertools.islice( ... zip(*map(itertools.cycle, lsts)), ... len(lsts[-1])))) ... ) >>> out [1, 2, 4, 1, 3, 5, 1, 2, 6] >>>
add
удалил лишний map(itertools.chain(
>>> import itertools >>> >>> lsts = [ ... [1], ... [2, 3], ... [4, 5, 6] ... ] >>> >>> out = list( ... itertools.chain.from_iterable( ... itertools.islice( ... zip(*map(itertools.cycle, lsts)), ... len(lsts[-1]))) ... ) >>> out [1, 2, 4, 1, 3, 5, 1, 2, 6] >>>