如何跳过Rust迭代器中的第N个元素?

埃斯特曼

迭代器有一个skip跳过第一个n元素的方法:

let list = vec![1, 2, 3];
let iterator = list.iter();
let skip_iter = iterator.skip(2); //skip the first 2 elements

我找不到一种方法来仅跳过n迭代器中-th元素。我需要自行实现某些功能还是找不到某个方法?

E_net4正在清理

这似乎是一个非常具体的操作。标准库或itertools板条箱中没有适用于此的适配器

尽管如此,实现起来还是很容易的。可以枚举每个元素并根据索引进行过滤:

iter.enumerate().filter(|&(i, _)| i != n).map(|(_, v)| v)

操场

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章