#计数 #工具 #映射 #缩写

count-invert

为在向量中计数元素和在HashMap中根据这些计数进行反转提供实用函数的Rust包

1 个不稳定版本

0.1.0 2024年7月18日

#18 in #缩写

MIT 许可协议

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