我对IronPython中的类型化数组初始化有疑问。我想在IronPython中初始化内联类型的二维数组 在IronPython中,我发现了如何初始化简单类型数组:
pythonTypedArray = Array[int]([0, 1, 2, 3, 4])
以及如何初始化类型化的数组数组:
pythonTypedArrayOfArrays = Array[Array[int]]([Array[int]([0, 1]), Array[int]([2, 3])])
例如,在C#中,我可以这样做:
int[,] twoDimensionalArray = new int[,] { {0, 1, 2, 3, 4}, {5, 6, 7, 8, 9} };
我可以在IronPython中初始化内联二维类型数组吗?如果不是,在IronPython中初始化二维类型数组的最佳方法是什么?
答案 0 :(得分:1)
所以,你需要一个矩阵。在Python中,可以通过以下方式实现:
matrix = [[0 for x in range(w)] for y in range(h)]
或使用numpy
(您可以通过运行pip install numpy
安装它):
>>> import numpy
>>> numpy.zeros((4, 4))
array([[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
在numpy中,生成具有随机数的矩阵非常简单:
>>> import numpy as np
>>> np.random.rand(2,3)
array([[ 0.22568268, 0.0053246 , 0.41282024],
[ 0.68824936, 0.68086462, 0.6854153 ]])
IMO,无论何时你想要矩阵,你都想使用numpy
因为它有一些很好的方法可以帮助你处理它们。
//编辑:由于您添加了更多上下文,因此在IronPython中您可以通过执行以下操作来创建数组数组:
array = Array[Array[int]]( ( (1,2), (3,4) ) )
或者你可以创建多维数组是使用Array.CreateInstance
传递类型作为第一个参数,后跟维度大小:
array = Array.CreateInstance(int, 2, 3)
当您需要更多信息时,您随时可以阅读the docs
答案 1 :(得分:0)
paymentID: data.paymentID,
payerID: data.payerID