title: How two consecutive yield statement work in python?
body: <p>I stumble upon this code from <a href="https://pymotw.com/3/itertools/" rel="noreferrer">pymotw.com</a> in merging and splitting section. </p>
  
  <pre><code>from itertools import *
  
  
  def make_iterables_to_chain():
      yield [1, 2, 3]
      yield ['a', 'b', 'c']
  
  
  for i in chain.from_iterable(make_iterables_to_chain()):
      print(i, end=' ')
  print()
  </code></pre>
  
  <p>I can not understand how make_iterables_to_chain() is working. It contains two yield statement, how does it work?
  I know how generators work but there but there was only single <b>yield</b> statement.</p>
  
  <p>Help, please!</p>