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

Julia : generating unique random integer array

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

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

谢谢。

StatsBase 中有一个 sample 函数:

using StatsBase
a = sample(1:100, 10, replace = false)

这将从 1:100 中抽取长度为 10 的样本,无需替换。

如果性能不是问题(即样本范围不是太大,或者样本数接近样本范围),并且如果您出于任何原因不想使用额外的包,尝试:

a = randperm(100)[1:10]

唯一(itr[ dim])

Returns 一个仅包含可迭代 itr

的唯一元素的数组
unique([rand(1:100) for r in 1:20])[1:10]

设置()

集合是元素的集合,就像数组或字典一样,没有重复的元素。

{rand(1:100) for r in 1:20}[1:10]