¿Forma pitónica de combinar dos listas de forma alterna?

Tengo dos listasel primero de los cuales está garantizado para contener exactamente un elemento más que el segundo. Me gustaría conocer la forma más pitónica de crear una nueva lista cuyos valores de índice par provienen de la primera lista y cuyos valores de índice impar provienen de la segunda lista.

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

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

Esto funciona, pero no es bonito:

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

¿De qué otra manera se puede lograr esto? ¿Cuál es el enfoque más pitónico?

Respuestas a la pregunta(17)

Su respuesta a la pregunta