code: def interleave_skip(iterables, limit=None):
      
  
      iterators = map(iter, iterables)
      while iterators:
          for i, it in enumerate(iterators):
              try:
                  yield next(it)
              except StopIteration:
                  del iterators[i]
docs: Like `chain.from_iterable(zip(*iterables))` but doesn't stop at the end of shortest iterable
  
      TODO: equivalent to chain.from_iterable(izip_longest(*iterables)) if obj is not None)
  
      >>> tuple(interleave_skip(s for s in ('ABCD', 'vwxyz', '12')))
      ('A', 'v', '1', 'B', 'w', '2', 'C', 'x', 'D', 'y', 'z')
      >>> list(interleave_skip((g for g in [xrange(10), xrange(20,25,1)])))
      [0, 20, 1, 21, 2, 22, 3, 23, 4, 24, 5, 6, 7, 8, 9]