Riguarda maggiormente la sintassi della comprensione dell'elenco di Python. Ho una comprensione dell'elenco che produce un elenco di numeri dispari di un determinato intervallo:
[x for x in range(1, 10) if x % 2]
Questo crea un filtro: ho un elenco di sorgenti, in cui rimuovo i numeri pari ( if x % 2
). Vorrei usare qualcosa come if-then-else qui. Il codice seguente non riesce:
>>> [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
Esiste un'espressione python come if-else:
1 if 0 is 0 else 3
Come usarlo all'interno di una lista di comprensione?
()
posto di[]
.