Python:多维数组(“矩阵”)与列表中的列表是一样的吗?
我试图理解人们所说的矩阵和人们所说的列表之间的区别 它们是否相同,因为一旦创建,您可以对它们执行相同的操作(以相同的方式在它们内部引用元素,等等) 示例: 在列表中列出列表:Python:多维数组(“矩阵”)与列表中的列表是一样的吗?,python,arrays,list,matrix,multidimensional-array,Python,Arrays,List,Matrix,Multidimensional Array,我试图理解人们所说的矩阵和人们所说的列表之间的区别 它们是否相同,因为一旦创建,您可以对它们执行相同的操作(以相同的方式在它们内部引用元素,等等) 示例: 在列表中列出列表: 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)) 它们不一样。在
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))
它们不一样。在python中,数组比列表的内存效率更高,而且由于numpy模块,可以在数组上执行列表无法执行的其他函数 对于计算,在numpy中使用数组往往比使用内置列表函数快得多
如果你想在问题的答案中读更多的话,你可以读更多。列表列表与二维Numpy数组非常不同
- 列表具有动态大小,可以容纳任何类型的对象,而数组具有固定大小和统一类型的条目
- 在列表列表中,每个子列表可以有不同的大小。阵列沿每个轴具有固定的尺寸
- 数组存储在连续的内存块中,而列表中的对象可以存储在堆的任何位置
(这个答案不包括Numpy对象数组的特殊情况,它也可以容纳任何类型的Python对象。它们很少使用,因为它们有Numpy数组的限制,但没有性能优势。)列表中的列表不一定必须与父列表中的另一个列表长度相同。如果有纯numpy矩阵,则行的长度必须相同且一致。否则它将是一个统一的Python对象系列,Python本身没有内置类型或标准库中的数组或矩阵。你指的是NumPy数组吗?是的,我指的是NumPy数组。道歉。我从Java迁移过来,我相信它是内置的?