我试图理解人们所说的矩阵和列表中的列表之间的区别。
它们是否相同,一旦创建,您就可以对它们做相同的事情(引用元素的方式相同,等等)。
示例:
在列表中列出列表:
ListsInLists = [[1,2],[3,4],[5,6]]
制作多维数组:
np.random.rand(3,2)
堆叠数组以形成矩阵:
Array1 = [1,2,3,4]
Array2 = [5,6,7,8]
CompleteArray = vstack((Array1,Array2))
发布于 2016-11-30 18:43:25
列表列表与二维Numpy数组非常不同。
Numpy数组的限制性更强,但提供了更高的性能和内存效率。它们还为矢量化的数学运算提供了方便的函数。
在内部,列表表示为指向任意Python对象的指针数组。当在列表末尾重复追加时,数组使用指数过分配来实现线性性能。另一方面,Numpy数组通常表示为数字的C数组。
(这个答案不包括Numpy对象数组的特殊情况,它也可以容纳任何类型的Python对象。它们很少使用,因为它们有Numpy数组的限制,但没有性能优势。)
发布于 2016-11-30 18:40:25
他们不一样。在python中,数组比列表具有更高的内存效率,还有一些额外的函数可以在数组上执行,这要归功于无法在列表上执行的to numpy模块。
对于计算,使用numpy中的数组比使用内置的列表函数要快得多。
如果你想了解this问题的答案,你可以读得更多一些。
https://stackoverflow.com/questions/40895721
复制相似问题