朱莉娅是否有if-else列表理解

Mar*_*ton 7 list-comprehension list conditional-statements julia

我正在尝试以pythonic方式使用zip,但在Julia中使用。给出两个列表:

a =[2;3;4;5;6]
b =[0;7;8;9;10]
Run Code Online (Sandbox Code Playgroud)

我想创建以下列表理解,

c = [x for (x,y) in zip(a, b) if (x<y) else y]
Run Code Online (Sandbox Code Playgroud)

返回c = [0;3;4;5;6]。相反,我得到了syntax: expected "]"回报。

pfi*_*seb 11

您必须重写您的理解,以使条件位于生成器的“ body”中:

c = [x < y ? x : y for (x, y) in zip(a, b)]
Run Code Online (Sandbox Code Playgroud)

if理解中的-condition目前仅用于过滤(尽管可能可以添加所需的含义)。