2013-07-25 97 views
2

除了不同的访问方法(例如[1,2]而不是[1][2]来访问第二行和第三列中的元素),python中多维数组和嵌套列表之间有什么区别?为什么两个数据结构都是必需的多维数组与python中的嵌套列表

+1

区别在于:嵌套列表存在于python标准库中,而不是多维数组。 – sloth

回答

6

Python没有 a 多维数组类型。它只有列表。

numpy(第三方Python扩展)确实有数组类型,而这些服务是图书馆内的一个专门的功能,在同质序列,即快速的基于C-数学运算。

使用标准的Python list类型,将其中一个放入另一个中会创建一个嵌套结构,可以使用来模拟多维结构。您嵌套[index]项目访问,[1][42]首先检索外部列表的第二个元素,然后检索第二个元素的第43个元素。

numpy阵列是专门结构,其多个维度显式建模为主要类型的一部分,而不是嵌套阵列内部的阵列,这意味着它们可以支持在[index]语法,其中index进来的形式的多个尺寸的寻址在技​​术上是一个元组。

Python做有一维array type,即,像numpy阵列,型号同质C型序列。

+0

不完全正确:http://docs.python.org/2/library/array.html – hivert

+0

@hivert:但这不是** multidimensional **。 –