Estoy tratando de obtener el camino más corto (personaje posible) para obtener la Lista 3.
La Lista 1 y la Lista 2 ya se me dan como argumentos y tienen la misma longitud.
l1 = [1, 2, 3, 4, 5]
l2 = ['a', 'b', 'c', 'd', 'e']
Y la Lista 3 debería verse así (sí, debe ser una lista):
l3 = ['a', 1, 'b', 2, 'c', 3, 'd', 4, 'e', 5]
l3 = ['a', 1, 'b', 2, 'c', 3, 'd', 4, 'e', 5]
dadal1 = [1, 2, 3, 4, 5]
yl2 = ['a', 'b', 'c', 'd', 'e']
ya asignado, o es la idea de quel1
yl2
podría ser cualquiera de las dos listas de la misma longitud?Respuestas:
Zip y Sum
Pruébalo en línea!
Comprime las dos listas juntas y luego agrega todas las tuplas para hacer una lista combinada. El zip solo funciona si se garantiza que las listas sean del mismo tamaño, de lo contrario trunca la lista más larga.
Se agregó el entorno
[* ]
para transformarlo en una lista como sugiere FryAmTheEggman.fuente
list
lugar de[* (...) ]
+3 bytes.Asignación de rebanada
Esto es tres bytes más largo que usar la solución de Jo King
c=[*sum(zip(b,a),())]
, pero es ingenioso. Puede ser más corto situacionalmente (aunque no puedo pensar en dónde).fuente