创建一个随机True/False数组

Rem*_*i.b 6 arrays random julia

这是我目前正在做的事情:

a = trues(100)
for i in 1:length(a)
   a[i] = rand()>0.5 ? true : false
end
Run Code Online (Sandbox Code Playgroud)

有更好(更快)的解决方案吗?

Ste*_*ski 11

在朱莉娅0.4你可以写bitrand(100):

julia> bitrand(100)
100-element BitArray{1}:
  true
  true
 false
 false
  true
     ?
  true
 false
  true
  true
  true
Run Code Online (Sandbox Code Playgroud)

您可以使用Compat旧版Julia中的包来获取此文件,或者您可以使用旧名称randbool(相同的行为,不同的名称).西蒙的答案rand(Bool,100)的作品,但它提供了一个Array{Bool}一个的来代替BitArray-存储紧凑只使用每个布尔有点布尔数组的特殊数据类型.