Estoy tratando de usar zip de una manera pitónica, pero en Julia. Dadas dos listas:
a =[2;3;4;5;6]
b =[0;7;8;9;10]
Me gustaría crear la siguiente lista de comprensión,
c = [x for (x,y) in zip(a, b) if (x<y) else y]
eso vuelve c = [0;3;4;5;6]
. En cambio, me syntax: expected "]"
devuelven.
list
conditional-statements
julia
list-comprehension
Marc Walton
fuente
fuente
x if cond else y
lugar decond ? x : y
, por lo que sería el Python correcto[x if x<y else y for (x, y) in zip(a, b)]
.Respuestas:
Debe reescribir su comprensión de tal manera que la condición se encuentre en el "cuerpo" del generador:
La
if
condición en las comprensiones es puramente para filtrar en este momento (aunque podría ser posible agregar el significado que desee).fuente
ifelse
, que a veces puede ser más rápido (¡y puede transmitirlo!).