【发布时间】:2019-02-25 23:23:13
【问题描述】:
我创建了 2D ndarray 的 1D 行视图,我想克隆内容。目前,我正在这样做:
let mut row_orig = table.subview_mut(Axis(0), chosen_row);
// ...
// some operations on row_orig
// ...
let mut row_copy = Array1<f32>::zeros(table.cols());
row_copy.assign(&row_orig);
用零创建和初始化然后
执行复制。另外,我必须在不需要时将row_copy 声明为可变的。有没有更好的办法?显然,对于 ndarray 视图,.clone 不存在。
我认为使用切片可能是解决方案,但我遇到了这段代码的可变/不可变问题:
let row_copy = table.slice(s![chosen_row,..]).clone();
// do something mutable with table
【问题讨论】:
-
“但我遇到了一个可变/不可变的问题”请针对该特定问题提供minimal reproducible example,以便我们可以就该特定尝试提供更好的见解.添加一些生成
table和chosen_row的最小代码也会有所帮助。
标签: multidimensional-array view rust clone slice