Tom*_*Cho 3 python arrays julia
在Python/Numpy中,我可以使用以下形式对数组进行切片:
arr = np.ones((3,4,5))
arr[2]
Run Code Online (Sandbox Code Playgroud)
并保持形状:
(arr[2]).shape # prints (4, 5)
Run Code Online (Sandbox Code Playgroud)
这意味着,如果我想保持数组的形状,以下代码适用于N维数组
arr = np.ones((3,4,5,2,2))
(arr[2]).shape # prints (4, 5, 2, 2)
Run Code Online (Sandbox Code Playgroud)
如果我想编写适用于保留其输出的N-dim数组的函数,那就太棒了.
然而,在Julia中,相同的动作不保留结构:
arr = ones(3,4,5)
size(arr[3]) # prints () (0-dimensinoal)
size(arr[3,:]) # prints (20,)
Run Code Online (Sandbox Code Playgroud)
因为部分线性索引.因此,如果想保留我需要编写的原始尺寸arr[3,:,:],这只适用于3D阵列.如果我想要一个4D阵列,我将不得不使用arr[3,:,:,:]等等.代码不一般.
此外,当你到达5维或更多的数组(我现在正在使用的情况)时,这种表示法变得非常麻烦.
有没有什么办法可以像在Python中编写代码一样编写代码?我甚至想不到一个漂亮的干净方式,更像是一种像Python一样干净的方式.
| 归档时间: |
|
| 查看次数: |
281 次 |
| 最近记录: |