fn main() {
let matrix = vec![vec![1, 2, 3], vec![4, 5, 6], vec![7, 8, 9], vec![10, 11, 12]];
let merged: Vec<i32> = matrix.iter().flat_map(|row| row.into_iter()).cloned().collect();
println!("{:?}", merged);
}
1
共 5 条评论, 1 页
评论区
写评论你忘了标准库里有个
flatten
吗?let matrix = vec![ vec![1, 2, 3], vec![4, 5, 6], vec![7, 8, 9], vec![10, 11, 12], ]; let merged = matrix.into_iter().flatten().collect::<Vec<i32>>(); println!("{:?}", merged);
Thanks. 初学,好多都不懂的,谢谢。
--
👇
uno: 前后都用
into_iter()
,就不需要用.cloned()
了,不然的话中间的into_iter()
也没必要,可以换成iter()
。前后都用
into_iter()
,就不需要用.cloned()
了,不然的话中间的into_iter()
也没必要,可以换成iter()
。Fixed, thanks.
--
👇
rdigua: E0282
E0282