title: Combine lists having a specific merge order in a pythonic way?
body: <p>I would like to construct list <code>x</code> from two lists <code>y</code> and <code>z</code>. I want all elements from <code>y</code> be placed where <code>ypos</code> elements point. For example:</p>
  
  <pre><code>y = [11, 13, 15]
  z = [12, 14]
  ypos = [1, 3, 5]
  </code></pre>
  
  <p>So, <code>x</code> must be <code>[11, 12, 13, 14, 15]</code></p>
  
  <p>Another example:</p>
  
  <pre><code>y = [77]
  z = [35, 58, 74]
  ypos = [3]
  </code></pre>
  
  <p>So, <code>x</code> must be <code>[35, 58, 77, 74]</code></p>
  
  <p>I've written function that does what I want but it looks ugly:</p>
  
  <pre><code>def func(y, z, ypos):
      x = [0] * (len(y) + len(z))
      zpos = list(range(len(y) + len(z)))
      for i, j in zip(y, ypos):
          x[j-1] = i
          zpos.remove(j-1)
      for i, j in zip(z, zpos):
          x[j] = i
      return x
  </code></pre>
  
  <p>How to write it in pythonic way?</p>