在Python中,假设我有两个4D NumPy数组(确切的维数并不重要,除了它是多维的):
import numpy as np
a = np.ones((4, 5, 6, 7))
b = np.zeros((4, 5, 6, 7))
如果我想将b
中的某个切片分配给a
,我可以这样做,例如:
a[1:3, 0:2, 1::2, :] = b[1:3, 0:2, 1::2, :]
如果我有两个4D rust ndarray,例如,
use ndarray::prelude::*
fn main() {
let mut a = Array4::<f64>::ones((4, 5, 6, 7));
let b = Array4::<f64>::zeros((4, 5, 6, 7));
}
我该如何把b
的一个切片等价地赋值给a
呢?
这是相当相似的,但(我认为)不完全相同:
- ndarray rust, change values of a slice
- Is there a Rust ndarray equivalent for numpy arithmetic on a slice?
在this Github thread中有信息。
1条答案
按热度按时间j5fpnvbx1#
我发现的方法是使用
slice_mut
方法,assign
方法和s!
切片宏。为了与上面的情况完全匹配,我们可以这样做: