如何使用索引位置压缩Vec <t> </t>

时间:2015-03-11 19:31:54

标签: rust

根据我的问题How to iterate a Vec with indexed position in Rust,现在我需要将两个动态向量压缩到其索引位置。

2 个答案:

答案 0 :(得分:5)

所有迭代器都存在enumerate函数。在两个迭代器zipa上使用b会生成另一个迭代器。因此,您还可以在生成的迭代器上调用enumerate

fn main() {
    let a = vec![1; 10];
    let b = vec![2; 10];

    let it = a.iter().zip(b.iter());

    for (i, (x, y)) in it.enumerate() {
        println!("{}: ({}, {})", i, x, y);
    }
}

答案 1 :(得分:1)

fn main() {
    let a = vec![1; 10];
    let b = vec![2; 10];

    for ((i,x),(j,y)) in a.iter().enumerate().zip(b.iter().enumerate()) {
        println!("(({},{}),({},{}))", i, x, j, y);
    }
}