Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from itertools import chain, repeat
- def interleave(iterables, repeat_rates=None):
- if repeat_rates is not None and len(iterables) != len(repeat_rates):
- raise ValueError('repeat_rates must be either None or be same length with iterables')
- iterators = []
- for i, iterable in enumerate(iterables):
- if repeat_rates:
- rate = repeat_rates[i]
- if rate > 1:
- iterable = chain.from_iterable(repeat(iterable, rate))
- iterators.append(iter(iterable))
- for item in chain.from_iterable(zip(*iterators)):
- yield item
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement