Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def mix_items(items_1, items_2, items_1_chunk_size=5, items_2_chunk_size=1):
- result_set = set()
- #
- items_1_iter = filterfalse(result_set.__contains__, items_1)
- items_2_iter = filterfalse(result_set.__contains__, items_2)
- #
- for iterator, chunk_size in cycle([
- (items_1_iter, items_1_chunk_size),
- (items_2_iter, items_2_chunk_size)
- ]):
- chunk = list(islice(iterator, chunk_size))
- if chunk:
- result_set.update(chunk)
- yield from chunk
- else:
- break
- #
- yield from items_1_iter
- yield from items_2_iter
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement