哪些语言具有与 Numpy 相似或等效的数组切片符号,为什么它不更常见?

Cha*_*les 5 python numpy vectorization slice multidimensional-array

特别是在索引 n>3 维数组/向量时,为什么更多的语言不采用:

arr = np.zeros((3, 10, 5, 100)) 
arrSlice = arr[:, 0:5, :, :99]

>   arrSlice.shape
>   (3, 5, 5, 99)

Run Code Online (Sandbox Code Playgroud)

切片数组的样式符号(如果我不只是遗漏了什么)...?

是否有任何其他语言在语法或功能上具有与 Numpy 等效的符号?

这是不是 Numpy 的语法糖在 C 中执行更多的线性循环,从而在其他语言中不可用或不合理的 python/C/cupy 之间创建二分法?(例如,我假设 numpy 的批处理操作符号在某些时候以较低级别的顺序循环结束)

张量在机器学习之外通常不是非常有用/实用的数据结构吗?如果是这样,那是否更多是因为大多数语言不能轻松地使用 GPU 并行执行数组操作?或者更多的是人们倾向于不想在多维矩阵中思考?还有什么?

其他语言中是否有我不熟悉的等效或高级语言的替代方案?似乎大多数人倾向于关注第一维,例如:

var x = [[0, 1], [2, 5], [3, 4]]

let methodSlice = x.slice(0, 2)
let spreadSlice = &x[0..2];

> [[0, 1], [2, 5]] 
Run Code Online (Sandbox Code Playgroud)

我想念 python 的这一方面比它的其他任何东西都更重要,而且似乎张量在其他地方相对较少访问。

提前感谢您提供的任何见解,这是一堆问题,但我找不到任何尚未提出的等效问题。