rust - 检查 Rust 中所有向量的长度是否相同
问题描述
给定一个具有某个值的向量的向量T
,即。Vec<Vec<T>>
.
检查内部向量是否具有相同长度的惯用方法是什么?(没有外部依赖)
也就是说,true
如果所有内部向量具有相同的长度,false
否则。
解决方案
您可以使用该all
方法检查迭代器的所有元素是否与谓词匹配。然后只需与列表中的第一个元素进行比较。
fn main() {
let vec_of_vecs = vec![
vec![1, 2, 3],
vec![1, 2, 3],
vec![1, 2, 3],
vec![1, 2, 3],
vec![1, 2, 3],
vec![1, 2, 3, 4], // remove this to prove that it works for both cases
];
let all_same_length = vec_of_vecs
.iter()
.all(|ref v| v.len() == vec_of_vecs[0].len());
if all_same_length {
println!("They're all the same");
} else {
println!("They are not the same");
}
}
推荐阅读
- vba - 如何在导入 Access Table 之前转换文件?
- list - Markdown Nested Lists with Multiple Lines under Single Bullet
- shell - How do you recursively `scp` files specified by command output?
- flutter - Flutter Image 和 AnimatedSize 小部件
- java - Android-studio:如何调用期望来自同一类的视图参数的方法?
- python - 如何重复提取两个固定标记之间的字符串
- python - 如何临时覆盖字典的成员?
- sharepoint - Sharepoint 列表计算列未正确显示
- devops - 圣杯和在 AWS 代码构建中将 jq 1.3 升级到 1.6
- javascript - 我的“过渡”事件侦听器不起作用吗?