9 个版本 (破坏性更新)
0.7.1 | 2023年12月15日 |
---|---|
0.7.0 | 2023年12月15日 |
0.6.0 | 2023年11月28日 |
0.5.0 | 2022年12月4日 |
0.1.0 | 2021年10月6日 |
在 #chunks 中排名 3
每月下载量 1,372
用于 3 个 crate
67KB
1K SLoC
itermore
🤸♀️ 更多迭代器适配器。
此 crate 提供了一些有用的迭代器适配器和函数。与 itertools
不同,此 crate 为每个适配器提供了一个独立的扩展 trait。此外,每个类型的适配器都带有功能标志,因此您只需编译所需的特性。
入门
将 crate 添加到 Cargo 清单。
cargo add itermore --features full
并将扩展 traits 带入作用域。
use itermore::prelude::*;
现在您可以在任何迭代器上使用扩展方法,例如 array_windows
。
for [a, b, c] in iter.array_windows() {
println!("{} {} {}", a, b, c)
}
// Outputs
// 1 2 3
// 2 3 4
// 3 4 5
建议只启用所需的特性。例如,如果您只想使用 array_combinations
适配器,您可以将以下内容添加到您的 Cargo 清单中。
[dependencies]
itermore = { version = "*", features = ["array_combinations"]}
提供的功能
方法
collect_array
:将迭代器收集到一个数组中。min_max
及其相关方法:返回迭代器的最小和最大元素。next_chunk
:返回迭代器的下一个N
个元素作为数组。sorted
及其相关方法:返回一个新的迭代器,其中所有元素都已排序。
适配器
array_chunks
返回一个迭代器,每次迭代返回迭代器的N
个元素。array_windows
返回一个迭代器,每次迭代返回长度为N
的连续窗口。array_combinations
返回一个迭代器,每次迭代返回底层迭代器中所有元素的长为K
的组合。array_combinations_with_reps
返回一个迭代器,遍历底层迭代器中所有元素重复/替换的长度为K
的组合。cartesian_product
返回两个迭代器元素集合笛卡尔积的迭代器。circular_array_windows
返回长度为N
的所有连续窗口迭代器,在末尾环绕。combinations
返回底层迭代器中所有元素长度为k
的组合迭代器。combinations_with_reps
返回底层迭代器中所有元素长度为k
的重复/替换组合迭代器。
许可证
本项目在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发。
有关详细信息,请参阅 LICENSE-APACHE 和 LICENSE-MIT。