根据我的问题How to iterate a Vec with indexed position in Rust,现在我需要将两个动态向量压缩到其索引位置。
答案 0 :(得分:5)
所有迭代器都存在enumerate
函数。在两个迭代器zip
和a
上使用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);
}
}