pitón pitón idiomático para bucle si otra declaración
Como puedo usarelse
declaración en una pitón idiomáticafor
¿lazo? Sinelse
Puedo escribir, por ejemplo:
res = [i for i in [1,2,3,4,5] if i < 4]
El resultado es:[1, 2, 3]
La forma normal del código anterior es:
res = []
for i in [1,2,3,4,5]:
if i < 4:
res.append(i)
El resultado es el mismo que en forma idiomática:[1, 2, 3]
Y quiero esto:
res = [i for i in [1,2,3,4,5] if i < 4 else 0]
yo obtengoSyntaxError: invalid syntax
. El resultado debería ser:[1, 2, 3, 0, 0]
El código normal de esto es:
res = []
for i in [1,2,3,4,5]:
if i < 4:
res.append(i)
else:
res.append(0)
El resultado es:[1, 2, 3, 0, 0]