当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust Iterator.partition用法及代码示例


本文简要介绍rust语言中 std::iter::Iterator.partition 的用法。

用法

fn partition<B, F>(self, f: F) -> (B, B) where    B: Default + Extend<Self::Item>,    F: FnMut(&Self::Item) -> bool,

使用一个迭代器,从中创建两个集合。

传递给 partition() 的谓词可以返回 truefalsepartition() 返回一对,它返回的所有元素 true ,以及它返回的所有元素 false

另请参见 is_partitioned() partition_in_place()

例子

基本用法:

let a = [1, 2, 3];

let (even, odd): (Vec<i32>, Vec<i32>) = a
    .iter()
    .partition(|&n| n % 2 == 0);

assert_eq!(even, vec![2]);
assert_eq!(odd, vec![1, 3]);

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::iter::Iterator.partition。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。