gpt4 book ai didi

rust - 如何在 Rust 中过滤索引上的向量

转载 作者:行者123 更新时间:2023-12-05 03:23:23 24 4
gpt4 key购买 nike

我有一个Vec<f64>我试图获取向量的每第 7 个元素,直到超出范围,进入另一个 Vec<f64> 。我想也许我可以创建我想要的元素的索引,然后基于该索引进行过滤。但我似乎无法直接或间接做到这一点。我尝试了什么

let x: Vec<f64> = (1..200)
.map(|x| (x as f64)/(200 as f64))
.collect();

let y: Vec<f64> = x
.enumerate()
.filter(|&(i, _)| i % 7 == 0 )
.map(|(_, e)| e)
.collect();

但这对于编译错误 enumerate method cannot be called on Vec<f64> due to unsatisfied trait bounds 不起作用。我还找到了保留方法,但没有找到将其应用于索引而不是元素的方法。令人惊讶的是,对 SO 的强大搜索没有得到任何结果。

最佳答案

请注意,有一个专门的迭代器适配器,step_by() :

let y: Vec<_> = x.into_iter().step_by(7).collect();

关于rust - 如何在 Rust 中过滤索引上的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72540172/

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