Julia:生成唯一的随机整数数组

时间:2016-03-16 21:42:11

标签: random integer julia random-sample

我正在尝试创建10个独特随机整数的元素数组。但是我无法创建具有唯一值的数组。 Julia有像Pythons sample function吗?

numbers = zeros(Array(Int64, 10))
rand!(1:100, numbers)

感谢。

3 个答案:

答案 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]