多维数组与python中的嵌套列表

时间:2013-07-25 08:51:22

标签: python arrays list

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

1 个答案:

答案 0 :(得分:7)

Python不拥有多维数组类型。它只有列表。

numpy(第三方Python扩展)确实有数组类型,它们在该库中提供专门的功能,即对同源序列进行快速基于C的数学运算。

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

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

Python确实有一个单维 array type,与numpy数组一样,可以模拟同源C类序列。