作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要一种惯用的方式来交织这两个向量:
v1 = vec![1.0, 2.0, 3.0];
v2 = vec![4.0, 5.0, 6.0];
我期望的输出是:
v3 is [1.0, 4.0, 2.0, 5.0, 3.0, 6.0];
我尝试使用 itertool 的 interlace
函数,但我无法让迭代器收集到 Vec
类型。很可能我用错了。
最佳答案
使用 interleave()
函数或 interleave()
方法来自 Itertools crate :
use itertools::{interleave, Itertools};
fn main() {
let v1 = vec![1.0, 2.0, 3.0];
let v2 = vec![4.0, 5.0, 6.0];
let v = interleave(v1, v2).collect::<Vec<_>>();
dbg!(v);
let v1 = vec![1.0, 2.0, 3.0];
let v2 = vec![4.0, 5.0, 6.0];
let v = v1
.into_iter()
.interleave(v2.into_iter())
.collect::<Vec<_>>();
dbg!(v);
}
关于vector - 如何将两个 Rust 向量交织成一个新向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59267842/
我是一名优秀的程序员,十分优秀!