对第一个向量进行排序后,如何正确组织
四个逻辑上相互连接的向量之间的数据同步?
例如,我最初有:
let mut v01: Vec<&str> = vec!["111", "abc", "ghi", "222"];
let mut v02: Vec<&str> = vec!["One", "A", "G", "Two"];
let mut v03: Vec<&str> = vec!["i32", "&str", "&str", "i64"];
let mut v04: Vec<&str> = vec!["true", "false", "false", "true"];
之后let _ = v01.sort();
...
我想要得到这个结果:
["111", "abc", "ghi", "222"]
...
результат:
["111", "222", "abc", "ghi"]
["One", "Two", "A", "G"]
["i32", "i64", "&str", "&str"]
["true", "true", "false", "false"]
有两种情况很有趣:
(1)当向量 v01 没有重复元素时;
(2)当 v01 具有重复元素时,例如,v04对于此类(重复)元素具有不同的值。
使用itertools包你可以做到这一点
玩
您也可以通过中间向量使用标准方法来完成此操作(尽管 itertools 也会在后台创建它)
玩
在这两种情况下,如果向量大小不同,它们将被截断为最小值。
但是,如果将字段存储在不同的向量中不是强制性要求,而只是您对如何更好的看法,那么最初以结构或元组的形式存储数据可能是值得的。
玩