使用Rust如何将2d数组转换为2d向量?

时间:2018-09-07 12:54:58

标签: arrays vector rust

给出一个二维数组,例如

let S = [
        [0,0,1,0,0],
        [0,0,1,0,0],
        [0,0,1,0,0],
        [0,0,1,0,0]];

如何将其转换为2d向量?

Vec<Vec<i32>>

1 个答案:

答案 0 :(得分:5)

2d数组是array中的array,因此要创建2d Vector,您需要创建Vec s中的Vec。一种方法是遍历数组,并使用to_vec()方法转换每个项目,然后将collect()转换为Vec

let s: Vec<_> = s.iter().map(|&e| e.to_vec()).collect();