Advertisement
Guest User

Untitled

a guest
Feb 20th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.61 KB | None | 0 0
  1. def mix_items(items_1, items_2, items_1_chunk_size=5, items_2_chunk_size=1):
  2.     result_set = set()
  3.     #
  4.     items_1_iter = filterfalse(result_set.__contains__, items_1)
  5.     items_2_iter = filterfalse(result_set.__contains__, items_2)
  6.     #
  7.     for iterator, chunk_size in cycle([
  8.         (items_1_iter, items_1_chunk_size),
  9.         (items_2_iter, items_2_chunk_size)
  10.     ]):
  11.         chunk = list(islice(iterator, chunk_size))
  12.         if chunk:
  13.             result_set.update(chunk)
  14.             yield from chunk
  15.         else:
  16.             break
  17.     #
  18.     yield from items_1_iter
  19.     yield from items_2_iter
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement