title: How to elegantly interleave two lists of uneven length in python?
body: <p>I want to merge two lists in python, with the lists being of different lengths, so that the elements of the shorter list are as equally spaced within the final list as possible. i.e. I want to take <code>[1, 2, 3, 4]</code> and <code>['a','b']</code> and merge them to get a list similar to <code>[1, 'a', 2, 3, 'b', 4]</code>. It needs to be able to function with lists that aren't exact multiples too, so it could take <code>[1, 2, 3, 4, 5]</code> and <code>['a', 'b', 'c']</code> and produce <code>[1, 'a', 2, 'b', 3, 'c', 4, 5]</code> or similar. It needs to preserve the ordering of both lists.</p>
  <p>I can see how to do this by a long-winded brute force method but since Python seems to have a vast array of excellent tools to do all sorts of clever things which I don't know about (yet) I wondered whether there's anything more elegant I can use?</p>
  <hr />
  <p><sub>If you want to leave excess elements at the end, see <a href="https://stackoverflow.com/questions/48199961/">How to interleave two lists of different length?</a>.</sub></p>