Eu estou tentando usar o zip de forma pitônica, mas na Julia. Dadas duas listas:
a =[2;3;4;5;6]
b =[0;7;8;9;10]
Gostaria de criar a seguinte lista de compreensão,
c = [x for (x,y) in zip(a, b) if (x<y) else y]
isso retorna c = [0;3;4;5;6]
. Em vez disso, eu syntax: expected "]"
volto.
list
conditional-statements
julia
list-comprehension
Marc Walton
fonte
fonte
x if cond else y
vez decond ? x : y
, portanto, o Python correto seria[x if x<y else y for (x, y) in zip(a, b)]
.Respostas:
Você precisa reescrever sua compreensão para que a condição esteja no "corpo" do gerador:
A
if
condição -conclusões é puramente para filtragem no momento (embora possa ser possível adicionar o significado desejado).fonte
ifelse
, que às vezes pode ser mais rápido (e você pode transmiti-lo!).