在IronPython中内联初始化二维类型数组

时间:2017-07-04 12:25:24

标签: python ironpython

我对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中初始化二维类型数组的最佳方法是什么?

2 个答案:

答案 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