python中的列表类似于数组。您可以将数组构造为列表类型。
(列表类型比其他语言的数组函数强大得多)
目前大多数编程语言中的数组下标都是从0开始计算的,这可能不符合人的习惯从正整数开始计数,但在计算机世界从0开始计数有其历史原因...什么是数组数组?它是一种将几个相同类型的元素以无序的形式组织起来的形式,以方便编程中的处理。下图显示了长度为10的一维数组在内存中的存储状态。显然,如果我们需要访问一个数组的元素,我们通常需要知道它的索引。如何访问数组元素可以简单理解为访问数组元素实际上是读取一个内存地址的值。从上图可以看出,数组在内存中是连续的,每个元素占用相同的空间。这样我们只需要知道数组第一个元素的内存地址,加上相应的偏移量就可以得到一个数组元素的内存地址。让让我们看看如果第一个元素的下标是1:let;s假设第一个元素的地址(第一个地址)是a,每个数组元素的大小是s,那么第二个元素的下标是2,地址a(2-1)*s,第三个元素的下标是3,地址a(3-2)*s,第n个元素的下标是n,地址是a(n-)。让s看看如果第一个元素的下标是0会怎么样:第二个元素的下标是1,地址是a1*s,第n个元素的下标是n-1,地址是an*s,比较两个公式:第一个元素下标为1:第n个元素地址a(n-1)*s第一个元素下标为0:第n个元素地址an*s看出区别了吗?如果使用0作为下标,每输入一次location元素地址,就少了一次减法运算!为什么要取0作为第一个元素的下标?你可能会觉得下标从1开始计算只有一次减法运算,但你看看计算机的发展史就会明白,早期的编程语言设计为什么那么在意一次减法运算。从上世纪60年代到今天的近60年间,计算设备的计算能力增长了1t倍(1万亿次)。以前看起来很的超级计算机,连一部手机甚至一块手表都比不上。从下图可以看出,1985年cray-2超级计算机的计算能力相当于一台iphone4,一台iwatch的计算能力相当于两台iphone4。数组是计算机程序中非常常用的数据结构。如果每一个下标寻址都能节省一次运算,那么在早期的计算机系统中,程序的运行速度可能会有显著的提高,从而充分利用当时昂贵的计算机。计算资源。出于习惯和兼容性的考虑,现代编程语言也延续了这种设计思路,这也是计算机常从0开始计数的原因。