1 个不稳定版本
0.1.0 | 2024年7月18日 |
---|
#18 in #缩写
10KB
165 行
count-invert
count-invert
是一个Rust包,提供了计数向量中元素出现次数以及根据这些计数反转HashMap的实用函数。此包利用 itertools
包提供强大的和高效的常见数据操作功能。
功能
- 将向量转换为包含元素计数的HashMap。
- 反转HashMap,使键成为值,值成为键。
- 结合这两种功能,直接从向量创建映射计数到元素向量HashMap。
安装
将 count-invert
添加到您的 Cargo.toml
[dependencies]
count-invert = "0.1.0"
使用方法
以下是使用count-invert包的方法
into_counts
将向量转换为HashMap,其中键是元素,值是它们的计数。
use count_invert::into_counts;
use std::collections::HashMap;
let vec = vec![1, 2, 2, 3, 3, 3];
let counts: HashMap<i32, usize> = into_counts(vec);
println!("{:?}", counts); // Output: {1: 1, 2: 2, 3: 3}
invert_map
反转HashMap,使键成为值,值成为键。
use count_invert::invert_map;
use std::collections::HashMap;
let mut map = HashMap::new();
map.insert(1, 2);
map.insert(2, 2);
map.insert(3, 3);
let inverted: HashMap<usize, Vec<i32>> = invert_map(map);
println!("{:?}", inverted); // Output: {2: [1, 2], 3: [3]}
into_count_map
将向量转换为HashMap,其中键是元素的计数,值是有这些计数的元素向量。
use count_invert::into_count_map;
use std::collections::HashMap;
let vec = vec![1, 2, 2, 3, 3, 3];
let count_map: HashMap<usize, Vec<i32>> = into_count_map(vec);
println!("{:?}", count_map); // Output: {1: [1], 2: [2], 3: [3]}
贡献
欢迎贡献!请提交拉取请求或打开问题,以建议改进或报告错误。
许可协议
本项目采用MIT许可协议。有关详细信息,请参阅LICENSE文件。
依赖项
~460KB