除了不同的访问方法(例如[1,2]
而不是[1][2]
访问第2行和第3列中的元素),python中多维数组和嵌套列表之间有什么区别?为什么两种数据结构都是必要的?
答案 0 :(得分:7)
Python不拥有多维数组类型。它只有列表。
numpy
(第三方Python扩展)确实有数组类型,它们在该库中提供专门的功能,即对同源序列进行快速基于C的数学运算。
使用标准Python list
类型,将一个放在另一个内部会创建一个嵌套结构,可以用于建模多维结构。您嵌套[index]
项访问权限,[1][42]
首先检索外部列表的第二个元素,然后检索第二个元素的第43个元素。
numpy
数组是专门的结构,它将多个维度显式建模为主要类型的一部分,而不是将数组嵌套在数组中,这意味着它们可以支持[index]
语法中多维度的寻址,其中index
以元组的形式出现,技术上。
Python确实有一个单维 array
type,与numpy
数组一样,可以模拟同源C类序列。