Ответ 1
Простой ответ: (более полное объяснение ниже)
using StatsBase
MyRand = sample(1:10, 3, replace = false)
В этом есть много осложнений. Например, всякий раз, когда вы производите произвольные числа, всегда выполняется какое-то распределение. Если вы рисуете много случайных чисел, тогда обычное описание этого в статистике состоит в том, что вы рисуете из многомерного распределения. Если ваше распределение является дискретным (т.е. Какое-либо конкретное число имеет положительную вероятность выбора), это будет фактически другое распределение, если вы укажете, что никакие две записи не могут быть равны друг другу. Таким образом, в зависимости от того, что вы хотите, это может быть относительно сложным относительно быстро. Например. если вы хотите 5 пуассоновских случайных величин, но с условием, что нет двух равных друг другу - выполнить это в коде довольно просто, но особенности распределения, которые будут производить это, будут более задействованы, а переменные, которые вы рисуете, больше не будут являются стандартными пуассоновскими случайными величинами. В зависимости от вашего приложения это может или не важно для вас иметь в виду.
НО, в этом случае, похоже, вы просто хотите выбрать три случайных элемента из списка некоторых видов, назначая равную вероятность каждому выбранному и гарантируя, что ни один элемент не будет выбран дважды. В этом случае функция sample()
из StatsBase выполнит трюк с выбором опции replace = false
(т.е. выборки "без замены" ), что означает, что вы удаляете число из пула возможных результатов после его выбора).