这是我目前正在做的事情:
a = trues(100)
for i in 1:length(a)
a[i] = rand()>0.5 ? true : false
end
是否有更好(更快)的解决方案?
最佳答案
在Julia 0.4中,您可以编写bitrand(100)
:
julia> bitrand(100)
100-element BitArray{1}:
true
true
false
false
true
⋮
true
false
true
true
true
您可以在旧版本的Julia中使用
Compat
包获得此信息,也可以使用旧名称randbool
(相同的行为,使用不同的名称)。 Simon对rand(Bool,100)
的回答有效,但它给出了Array{Bool}
而不是BitArray
-一种特殊的数据类型,它仅对每个 bool 值使用一点就紧凑地存储 bool 值数组。