我正在尝试创建10个独特随机整数的元素数组。但是我无法创建具有唯一值的数组。 Julia有像Pythons sample function吗?
numbers = zeros(Array(Int64, 10))
rand!(1:100, numbers)
感谢。
答案 0 :(得分:13)
StatsBase中有sample
个函数:
using StatsBase
a = sample(1:100, 10, replace = false)
这将从1:100抽取长度为10的样本,而无需替换。
答案 1 :(得分:6)
如果性能不是问题(即样品范围不是太大,或样品数量接近样品范围),并且如果您不想使用额外的包装原因,试试:
a = randperm(100)[1:10]
答案 2 :(得分:1)
唯一(itr [,dim])
返回仅包含iterable itr
的唯一元素的数组unique([rand(1:100) for r in 1:20])[1:10]
设置()强>
集合是元素的集合,就像数组或字典一样,没有重复的元素。
{rand(1:100) for r in 1:20}[1:10]