这是我目前正在做的事情:
a = trues(100)
for i in 1:length(a)
a[i] = rand()>0.5 ? true : false
end
有更好(更快)的解决方案吗?
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
——一种特殊的数据类型,它仅使用每个布尔值一个位来紧凑地存储布尔数组。
randbool
。 - mbaumanPkg.update()
然后using compat.jl
,我收到了Warning: requiring "compat" did not define a corresponding module
和bitrand
未定义的警告。如果这不能很容易地解决,我想我会开一个新帖子。谢谢。 - Remi.bPkg.add("Compat")
然后using Compat
。一般在使用Julia软件包时,.jl
后缀通常被省略。 - mbaumanINFO: 没有要安装、更新或删除的软件包 INFO: 软件包数据库已更新
的消息。然后我写了using Compat
(没有返回任何消息),但bitrand
未定义。 - Remi.bbitrand()
在 Julia 1.6+ 的Random
包中吗? - PatrickT