mic*_*tiz 3 python arrays if-statement julia
我是朱莉娅的新人。我在徘徊是否可以在一行中编写if
数组中的语句或 Julia 中的集合。
例如在python中我可以写一个列表,如
s = [1 if np.random.uniform() < 0.5 else 0 for i in range(10)]
Run Code Online (Sandbox Code Playgroud)
在 Julia 中,如果我是对的,应该是这样的数组
s = []
for i in 0:10
if rand()<0.5
push!(s, 1)
else
push!(s, 0)
end
end
Run Code Online (Sandbox Code Playgroud)
我知道我可以for
在一行中写出循环,即
s =[1 for i in 1:10]
Run Code Online (Sandbox Code Playgroud)
但是if..else
声明呢?
正如@Guido 建议的那样,您可以像 python 一样使用列表理解,更具体地说:
s = [if rand() < 0.5 1 else 0 end for i in 1:10]
Run Code Online (Sandbox Code Playgroud)
请注意,julia 的 if-else 语句需要一个end
. 我认为这与使用相同map
:
map(x -> rand() < 0.5 ? 1 : 0, 1:10)
Run Code Online (Sandbox Code Playgroud)