How to split a vector into evenly sized chunks in Rust

2 Answers

0 votes
fn main() {
    let v: Vec<i32> = (0..14).collect();

    let result: Vec<&[i32]> = v.chunks(3).collect();
    
    println!("{:?}", result);
}



/*
run:
  
[[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11], [12, 13]]
  
*/

 



answered Nov 13, 2024 by avibootz
0 votes
fn main() {
    let v: Vec<u8> = (0..14).collect();

    let result: Vec<Vec<u8>> = v.chunks(3).map(|s| s.into()).collect();
    
    println!("{:?}", result);
    
    println!("{:?}", result[0]);
    
    println!("{:?}", result[0][0]);
    println!("{:?}", result[0][1]);
    println!("{:?}", result[0][2]);
}



/*
run:
  
[[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11], [12, 13]]
[0, 1, 2]
0
1
2
  
*/

 



answered Nov 13, 2024 by avibootz

Related questions

1 answer 117 views
1 answer 114 views
2 answers 151 views
1 answer 123 views
1 answer 121 views
1 answer 119 views
1 answer 110 views
...