let a: Vec<f32>;
let mut new: Vec<Vec<f32>>;假设a的大小为n * n。如何将其转换为二维向量new?显然,简单地迭代向量并手工完成它是非常天真的。有什么方法可以快速而有效地重塑形象吗?
发布于 2022-07-14 13:14:03
不是的。如果您来自numpy或类似的工具,numpy将所有数组存储为一维,并通过算法使其看起来是多维的,因此性能上重新塑造数组确实只需要在某个地方更改索引。但是锈蚀中的Vec是一个一维结构,而Vec<Vec<...>>是一个嵌套的数据类型,具有完全不同的结构,所以实际上您必须将所有元素复制到新的向量中。在这种情况下,迭代元素是正确的方法。
我赞赏你为找到更好的方法所做的努力,但在这种情况下,我相信答案就是自己做。
https://stackoverflow.com/questions/72980915
复制相似问题