Pythonic way to combine two lists in an alternating fashion?
<p>I have two lists, <strong>the first of which is guaranteed to contain exactly one more item than the second</strong>. I would like to know the most Pythonic way to create a new list whose even-index values come from the first list and whose odd-index values come from the second list.</p>

<pre><code># example inputs
list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']

# desired output
['f', 'hello', 'o', 'world', 'o']
</code></pre>

<p>This works, but isn't pretty:</p>

<pre><code>list3 = []
while True:
    try:
        list3.append(list1.pop(0))
        list3.append(list2.pop(0))
    except IndexError:
        break
</code></pre>

<p>How else can this be achieved? What's the most Pythonic approach?</p>
