Tengo dos listas, , la primera de las cuales se garantiza que contiene exactamente un elemento más que el segundo. Me gustaría conocer la forma más pitonica de crear una nueva lista cuyos valores de índice par provengan de la primera lista y cuyos valores de índice impar provengan de la segunda lista.¿Manera pitónica de combinar dos listas de forma alternativa?
# example inputs
list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']
# desired output
['f', 'hello', 'o', 'world', 'o']
Esto funciona, pero no es bastante:
list3 = []
while True:
try:
list3.append(list1.pop(0))
list3.append(list2.pop(0))
except IndexError:
break
¿Cómo, si es posible lograrlo? ¿Cuál es el enfoque más Pythonic?
posible duplicado de [Alternando entre iteradores en Python] (http://stackoverflow.com/questions/2017895/alternating-between-iterators-in-python) –
¡No es un duplicado! La respuesta aceptada en el artículo vinculado anteriormente produce una lista de tuplas, no una sola lista fusionada. –
@Paul: Sí, la respuesta aceptada no brinda la solución completa. Lee los comentarios y las otras respuestas. La pregunta es básicamente la misma y las otras soluciones se pueden aplicar aquí. –