在 Scala 中是否有一种简洁的方法来获取多维数组的形状?我正在考虑在 Python 中使用 Numpy 等效于以下内容:
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
a
>> array([[1, 2, 3],
[4, 5, 6]])
a.shape
>> (2, 3)
最佳答案
如果您确定所有内部数组的大小相同,您可以执行以下操作:
scala> val aaa = Array ( Array (1,2,3), Array (4,5,6))
aaa: Array[Array[Int]] = Array(Array(1, 2, 3), Array(4, 5, 6))
scala> val aaaShape = (aaa.size, aaa(0).size)
aaaShape: (Int, Int) = (2,3)
但是数组的数组不能保证所有内部数组的大小相同。
像 a.shape 这样的方法似乎过于工程化,但您可以轻松地自己编写它,然后在适当的情况下对每个子数组的大小进行检查。
关于Scala 多维数组相当于 np.ndarray.shape?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50573512/