¿Se puede hacer más simple/elegante?Programa de Python para dividir una lista en dos listas con elementos alternados
def zigzag(seq):
"""Return two sequences with alternating elements from `seq`"""
x, y = [], []
p, q = x, y
for e in seq:
p.append(e)
p, q = q, p
return x, y
SO está haciendo tan vago. –
@Sridhar, no pienses que es flojo, piensa que es * eficiente en el tiempo *. Pasé media hora trabajando en un algoritmo para hacer esto con un bucle * for * (para * x * columnas, no solo dos). Y aunque lo conseguí funcionando, simplemente no parecía * pitónico * - Sospeché que había una manera más fácil. Efectivamente, no recordaba que las listas tengan * variables * de paso * (como se muestra en esta Respuesta), lo que lo hace trivial. –
Esto es hermoso, ni siquiera sabía acerca de esa sintaxis. ¡Gracias! – sleepycal