Maneira pitônica de combinar duas listas de forma alternada?

Eu tenho duas listasé garantido que o primeiro contém exatamente mais um item que o segundo. Gostaria de saber a maneira mais pitônica de criar uma nova lista cujos valores de índice par provêm da primeira lista e cujos valores de índice ímpar provêm da segunda lista.

# example inputs
list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']

# desired output
['f', 'hello', 'o', 'world', 'o']

Isso funciona, mas não é bonito:

list3 = []
while True:
    try:
        list3.append(list1.pop(0))
        list3.append(list2.pop(0))
    except IndexError:
        break

De que outra forma isso pode ser alcançado? Qual é a abordagem mais pitônica?

questionAnswers(17)

yourAnswerToTheQuestion