3

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

4

1 回答 1

7

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

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

使用标准 Pythonlist类型,将一个放在另一个中会创建一个嵌套结构,用于对多维结构进行建模。您嵌套[index]项目访问,[1][42]首先检索外部列表的第二个元素,然后检索该第二个元素的第 43 个元素。

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

Python 确实具有一 array类型,它与numpy数组一样,对同质 C 类型序列进行建模。

于 2013-07-25T08:56:06.030 回答