我已经在计算机科学课上了解了关于多维数组的记录&数组的记录,但我不确定如何在Python中实现它。我正在考虑使用一组记录,因为它可以让我在一条记录中拥有不同的数据类型,但同时我认为多维数组在Python中学习也很好。如何在Python中实现多维数组或数组记录?
我已经google了一下&我已经找到了numpy,但我不确定在numpy中使用哪个函数。我看到一个元组,但我并不热衷于使用它,因为元组无法修改。
我正在使用Python 3.2,但我并不介意使用Python 2.7。
我已经在计算机科学课上了解了关于多维数组的记录&数组的记录,但我不确定如何在Python中实现它。我正在考虑使用一组记录,因为它可以让我在一条记录中拥有不同的数据类型,但同时我认为多维数组在Python中学习也很好。如何在Python中实现多维数组或数组记录?
我已经google了一下&我已经找到了numpy,但我不确定在numpy中使用哪个函数。我看到一个元组,但我并不热衷于使用它,因为元组无法修改。
我正在使用Python 3.2,但我并不介意使用Python 2.7。
取决于你想如何与他们交互。考虑使用Numpy。具体来说,看看N-Dimensional array。它为操作和比较提供了丰富的API。
如果numpy感觉过度杀伤,可以使用简单元组/列表实现多数组。
multi_array = [
[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10]
]
>>> multi_array[0][0]
>>> multi_array[1][4]
举个例子,以multi_array
转换成numpy的ndarray
:
import numpy as np
np.ndarray((2, 5), buffer=np.array(multi_array), dtype=int)
注意ndarray希望,因为它是第一个参数shape
。这意味着您在创建之前需要知道数组的维数。改变ndarray的尺寸被称为'重塑'。
Numpy的+1。使用常规维度的多维数组Numpy不是一个过度杀伤。 – eumiro
不确定您的意思是“记录”,但您可以使用列表列表来表示二维数组。阅读docs了解更多信息。
通过记录数组,您指的是我假设的类的数组。 – jamylak
列表有什么问题? – aquavitae
@aquavitae我只是想知道除了使用列表还有其他选项。我正在努力学习新的东西。 –