Come posso utilizzare l'istruzione else
in un loop Python for
? Senza else
posso scrivere es:python python idiomatico per il ciclo if else statement
res = [i for i in [1,2,3,4,5] if i < 4]
Il risultato è: [1, 2, 3]
La forma normale del codice sopra è:
res = []
for i in [1,2,3,4,5]:
if i < 4:
res.append(i)
Il risultato è lo stesso in forma idiomatica: [1, 2, 3]
E voglio questo:
res = [i for i in [1,2,3,4,5] if i < 4 else 0]
Ottengo SyntaxError: invalid syntax
. Il risultato dovrebbe essere: [1, 2, 3, 0, 0]
Il codice normale di questo è:
res = []
for i in [1,2,3,4,5]:
if i < 4:
res.append(i)
else:
res.append(0)
Il risultato è: [1, 2, 3, 0, 0]