Sintaxe de compreensão inconsistente?
Eu apenas tropecei no que parece ser uma falha na sintaxe python - ou então eu estou perdendo alguma coisa.
Veja isso:
[x for x in range(30) if x % 2 == 0]
Mas este é um erro de sintaxe:
[x for x in range(30) if x % 2 == 0 else 5]
Se você tem umelse
cláusula, você tem que escrever:
[x if x % 2 == 0 else 5 for x in range (30)]
Mas este é um erro de sintaxe:
[x if x %2 == 0 for x in range(30)]
o que estou perdendo? Por que isso é tão inconsistente?