gpt4 book ai didi

rust - 获取分区函数中项目的索引

转载 作者:行者123 更新时间:2023-11-29 08:12:03 24 4
gpt4 key购买 nike

我需要在 Rust 中拆分数组/向量并找到 partition在文档中。看起来传递给 partition 的回调函数只能访问数组的项目。我如何获得项目的索引?

例如,给定一个数组[1, 2, 3, 4],我如何根据它们的位置将它分成两个,所以第一个是[1, 3 ] 因为它们每个都有一个偶数位置(1 和 3 的索引为 0 和 2,这是一个偶数),第二个将是 [2, 4]

最佳答案

解决方案可能是使用 enumeratepartition_map来自 itertools:

use itertools::{Either, Itertools};

fn main() {
let a = vec![1, 2, 3, 4];

let (b, c): (Vec<_>, Vec<_>) = a.into_iter().enumerate().partition_map(|(i, foo)| {
if i % 2 == 0 {
Either::Left(foo)
} else {
Either::Right(foo)
}
});

println!("{:?}, {:?}", b, c);
}

关于rust - 获取分区函数中项目的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55334299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com