【发布时间】:2020-02-29 01:47:49
【问题描述】:
我正在尝试以 Python 方式使用 zip,但在 Julia 中。给定两个列表:
a =[2;3;4;5;6]
b =[0;7;8;9;10]
我想创建以下列表理解,
c = [x for (x,y) in zip(a, b) if (x<y) else y]
返回c = [0;3;4;5;6]。相反,我得到了syntax: expected "]" 返回。
【问题讨论】:
-
出于好奇,这在 Python 中有效吗?
-
@StefanKarpinski:不。在 Python 中编写此代码会失败,原因与在 Julia 中完全相同,但修复方法基本相同(尽管 Python 的三元运算符语法不同)。
-
Python 的三元运算符是
x if cond else y而不是cond ? x : y,所以正确的 Python 应该是[x if x<y else y for (x, y) in zip(a, b)]。
标签: list conditional-statements julia list-comprehension