Pythonic способ объединить два списка поочередно?

У меня есть два списка,первый из которых гарантированно содержит ровно на один элемент больше, чем второй, Я хотел бы знать наиболее Pythonic способ создать новый список, чьи значения четного индекса поступают из первого списка, а чьи значения нечетного индекса поступают из второго списка.

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

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

Это работает, но не красиво:

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

Как еще это может быть достигнуто? Какой самый питонский подход?