Il s'agit davantage de la syntaxe de compréhension de liste python. J'ai une compréhension de liste qui produit une liste de nombres impairs d'une plage donnée:
[x for x in range(1, 10) if x % 2]
Cela fait un filtre - j'ai une liste source, où je supprime les nombres pairs ( if x % 2
). J'aimerais utiliser quelque chose comme si-alors-autre ici. Le code suivant échoue:
>>> [x for x in range(1, 10) if x % 2 else x * 100]
File "<stdin>", line 1
[x for x in range(1, 10) if x % 2 else x * 100]
^
SyntaxError: invalid syntax
Il existe une expression python comme if-else:
1 if 0 is 0 else 3
Comment l'utiliser dans une compréhension de liste?
()
place de[]
.