迭代器有一个跳过前n
个元素的skip
方法:
let list = vec![1, 2, 3];
let iterator = list.iter();
let skip_iter = iterator.skip(2); //skip the first 2 elements
我找不到只跳过迭代器中第n
个元素的方法.我需要自己实现一些东西吗?还是有什么方法我还没有找到?
迭代器有一个跳过前n
个元素的skip
方法:
let list = vec![1, 2, 3];
let iterator = list.iter();
let skip_iter = iterator.skip(2); //skip the first 2 elements
我找不到只跳过迭代器中第n
个元素的方法.我需要自己实现一些东西吗?还是有什么方法我还没有找到?
这似乎是一个非常具体的行动.在标准库或itertools
crate 中没有适配器.
尽管如此,它还是很容易实现.可以枚举索引中的每个元素并进行筛选:
iter.enumerate().filter(|&(i, _)| i != n).map(|(_, v)| v)