original_docstring: 
      Iterating over list of iterators.
      Bit like zip, but zip stops after the
      shortest iterator is empty, abd here
      we go one until all iterators are empty.
      
docstring: Iterating over list of iterators.
  Bit like zip, but zip stops after the
  shortest iterator is empty, abd here
  we go one until all iterators are empty.
docstring_tokens: Iterating over list of iterators . Bit like zip but zip stops after the shortest iterator is empty abd here we go one until all iterators are empty .
code: def iterator_mix(*iterators):
      """
      Iterating over list of iterators.
      Bit like zip, but zip stops after the
      shortest iterator is empty, abd here
      we go one until all iterators are empty.
      """
      while True:
          one_left = False
  
          for it in iterators:
              try:
                  yield it.next()
              except StopIteration:
                  pass
              else:
                  one_left = True
  
          if not one_left:
              break
code_tokens: def iterator_mix ( * iterators ) : while True : one_left = False for it in iterators : try : yield it . next ( ) except StopIteration : pass else : one_left = True if not one_left : break
short_docstring: Iterating over list of iterators.
short_docstring_tokens: Iterating over list of iterators .
comment: """
      Iterating over list of iterators.
      Bit like zip, but zip stops after the
      shortest iterator is empty, abd here
      we go one until all iterators are empty.
      """