IronPython中二维类型化数组的内联初始化
我有一个关于IronPython中类型化数组初始化的问题。我想在IronPython中初始化内联类型的二维数组。IronPython中二维类型化数组的内联初始化,python,ironpython,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#中,我可
在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中初始化二维类型化数组的最佳方法是什么 所以,你需要一个矩阵。在Python中,可以通过执行以下操作来实现:
matrix = [[0 for x in range(w)] for y in range(h)]
或者使用(您可以通过运行pip install numpy
来安装它):
在numpy中,使用随机数生成矩阵非常简单:
>>> import numpy as np
>>> np.random.rand(2,3)
array([[ 0.22568268, 0.0053246 , 0.41282024],
[ 0.68824936, 0.68086462, 0.6854153 ]])
在我看来,每当你想要矩阵的时候,你都想使用numpy
,因为它有一些很好的方法,可以真正帮助你处理它们
//编辑:由于添加了更多上下文,在IronPython中,您可以通过以下操作创建数组数组:
array = Array[Array[int]]( ( (1,2), (3,4) ) )
或者您可以创建多维数组,即使用Array.CreateInstance
传递类型作为第一个参数,后跟维度大小:
array = Array.CreateInstance(int, 2, 3)
需要更多信息时,您可以随时阅读使用
numpy
您确定这是Python吗?看起来不像…我很抱歉没有提到这一点。这个问题与我可以使用.NET类型的IronPython有关。@Bill:请回答你的问题。@Bill你应该这样标记它。numpy来自哪里?为它添加了一些参考资料;P@MrGrj如果我使用Array.CreateInstance方法,那么如何用值填充此数组?是的。只有这种方法?@MrGrj,那么array=array.CreateInstance(int,2,3)
variant的内联初始化呢?你能提供一些关于如何安装numpy的信息吗?我尝试了这个链接中的说明,但它不起作用(无法下载ironpkg-1.0.0.py文件):这很棘手。改用科学python。就像Anaconda、WinPython一样,只需谷歌一下。他们预装了numpy之类的东西。
import numpy
a = numpy.arange(12)
a.shape = 3, 4
print(a)
>>>
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
import numpy
a = numpy.arange(12)
a.shape = 3, 4
print(a)
>>>
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]