gpt4 book ai didi

rust - 如何从元素向量创建随机样本?

转载 作者:行者123 更新时间:2023-11-29 08:28:26 40 4
gpt4 key购买 nike

我使用这段代码为数字 0 到 49 创建了一个随机样本。现在我想为一组自定义值创建一个随机样本。例如:从 [1, 2, 3, 4, 9, 10, 11, 14, 16, 22, 32, 45] 中选择 5 个样本。我该怎么做?

use rand::{seq, thread_rng}; // 0.7.3

fn main() {
let mut rng = thread_rng();
let sample = seq::index::sample(&mut rng, 50, 5);
}

最佳答案

您可以使用 IteratorRandom得到一个更短的解决方案。这是迭代器的扩展特征,它提供了便利的功能,例如 choose_multiplechoose_multiple_fill :

use rand::{seq::IteratorRandom, thread_rng}; // 0.6.1

fn main() {
let mut rng = thread_rng();
let v = vec![1, 2, 3, 4, 5];
let sample = v.iter().choose_multiple(&mut rng, 2);

println!("{:?}", sample);
}

关于rust - 如何从元素向量创建随机样本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57829511/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com