Es geht mehr um die Syntax des Python-Listenverständnisses. Ich habe ein Listenverständnis, das eine Liste ungerader Zahlen eines bestimmten Bereichs erzeugt:
[x for x in range(1, 10) if x % 2]
Dies macht einen Filter - ich habe eine Quellenliste, in der ich gerade Zahlen entferne ( if x % 2
). Ich würde hier gerne so etwas wie Wenn-Dann-Sonst verwenden. Der folgende Code schlägt fehl:
>>> [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
Es gibt einen Python-Ausdruck wie if-else:
1 if 0 is 0 else 3
Wie verwende ich es in einem Listenverständnis?
()
anstelle von verwenden[]
.