我有一个元组向量:
let v = vec![(1, 1), (1, 1), (1, 3), (1, 4), (2, 2), (2, 4), (2, 6)];
Run Code Online (Sandbox Code Playgroud)
我想把它分成两个列表。第一个列表包含每个元组中的第一个元素,第二个列表包含第二个元素,即:
l1 = [1, 1, 1, 1, 2, 2]和l2 = [1, 1, 3, 4, 2, 4]。
我怎样才能做到这一点?
Iterator.unzip()是专门为此创建的。操场
fn main() {
let v = vec![(1, 1), (1, 1), (1, 3), (1, 4), (2, 2), (2, 4), (2, 6)];
let (v1, v2): (Vec<_>, Vec<_>) = v.into_iter().unzip();
println!("{:?}", v1);
println!("{:?}", v2);
// [1, 1, 1, 1, 2, 2, 2]
// [1, 1, 3, 4, 2, 4, 6]
}
Run Code Online (Sandbox Code Playgroud)