【发布时间】:2023-02-09 14:09:23
【问题描述】:
有一个 vec![1,2,3,4,5,6,7,8,9,10,11,12] 我想以 6 个元素的块删除最后 3 个元素,所以结果将是一个切片或像 [1,2,3,7,8,9] 这样的 vec。有没有一种简单的方法可以做到这一点而无需中间分配(比如收集小的 vecs),最好使用迭代器?
谢谢!
【问题讨论】:
-
我想到了这样的事情,但我不知道在地图内部收集效率很高。
let a: Vec<_> = v.chunks_exact(6).map(|x| x.iter().take(3).collect::<Vec<_>>()).flatten().collect();
标签: rust