【发布时间】:2023-04-08 13:35:01
【问题描述】:
在 Rust 中有一种简单的方法可以像这样拆分向量:
let original_vec = vec![
(14, "Foo", 62.3),
(17, "Foo", 77.8),
(25, "Bar", 33.7),
(27, "Bar", 99.2),
(61, "Foo", 17.4),
(64, "Bar", 55.5),
(77, "Bar", 31.2),
];
进入这个:
let res = vec![
vec![
(14, "Foo", 62.3),
(17, "Foo", 77.8),
],
vec![
(25, "Bar", 33.7),
(27, "Bar", 99.2),
],
vec![
(61, "Foo", 17.4), // "Foo" again
],
vec![
(61, "Bar", 55.5), // A separate group of "Bars"
(77, "Bar", 31.2),
],
]
澄清一下:我想通过其元素中的一个字段来拆分我的输入向量。只有具有相同字段值的连续元素必须放入子向量中。 “扁平化”结果向量必须与原始向量具有相同的顺序。
【问题讨论】: