rust的partition_with怎么使用
时间: 2024-09-15 17:08:38 浏览: 65
`partition_with`是Rust编程语言中的一个函数,它来自于`std::iter`模块下的`Iterator trait`。这个函数主要用于将一个迭代器分为两个部分,每个部分基于提供的闭包(closure)的结果进行划分。闭包会作用于迭代器的元素,如果闭包返回值为真,则该元素会被放入第一个结果迭代器中,反之则放入第二个结果迭代器。
使用`partition_with`的基本语法如下:
```rust
let (first_iter, second_iter) = values.iter().partition_with(|value| condition(value));
```
这里的`values`是你要操作的迭代器,`condition`是一个闭包,接受一个值并返回布尔值。当`condition(value)`为`true`时,`value`会被添加到`first_iter`,否则添加到`second_iter`。
举个例子,如果你有一个整数数组,想把所有的偶数放在一边,奇数放在另一边:
```rust
let numbers = vec![1, 2, 3, 4, 5];
let (even_numbers, odd_numbers) = numbers.into_iter().partition_with(|num| num % 2 == 0);
```
阅读全文