首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python:多维数组(“矩阵”)是否与列表中的列表相同?

Python:多维数组(“矩阵”)是否与列表中的列表相同?
EN

Stack Overflow用户
提问于 2016-11-30 18:35:05
回答 2查看 2.2K关注 0票数 2

我试图理解人们所说的矩阵和列表中的列表之间的区别。

它们是否相同,一旦创建,您就可以对它们做相同的事情(引用元素的方式相同,等等)。

示例:

在列表中列出列表:

代码语言:javascript
运行
复制
ListsInLists = [[1,2],[3,4],[5,6]]

制作多维数组:

代码语言:javascript
运行
复制
np.random.rand(3,2)

堆叠数组以形成矩阵:

代码语言:javascript
运行
复制
Array1 = [1,2,3,4]
Array2 = [5,6,7,8]
CompleteArray = vstack((Array1,Array2))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-30 18:43:25

列表列表与二维Numpy数组非常不同。

  • 列表具有动态大小,可以容纳任何类型的对象,而数组具有固定的大小和一致类型的条目。
  • 在列表列表中,每个子列表可以有不同的大小。阵列沿每个轴都有固定的尺寸。
  • 数组存储在连续的内存块中,而列表中的对象可以存储在堆的任何位置。

Numpy数组的限制性更强,但提供了更高的性能和内存效率。它们还为矢量化的数学运算提供了方便的函数。

在内部,列表表示为指向任意Python对象的指针数组。当在列表末尾重复追加时,数组使用指数过分配来实现线性性能。另一方面,Numpy数组通常表示为数字的C数组。

(这个答案不包括Numpy对象数组的特殊情况,它也可以容纳任何类型的Python对象。它们很少使用,因为它们有Numpy数组的限制,但没有性能优势。)

票数 7
EN

Stack Overflow用户

发布于 2016-11-30 18:40:25

他们不一样。在python中,数组比列表具有更高的内存效率,还有一些额外的函数可以在数组上执行,这要归功于无法在列表上执行的to numpy模块。

对于计算,使用numpy中的数组比使用内置的列表函数要快得多。

如果你想了解this问题的答案,你可以读得更多一些。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40895721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档