1,32位python的限制是 536870912 个元素。
2,64位python的限制是 1152921504606846975 个元素。
列表和元组都是一个可以放置任意数据类型的有序集合。这里需要注意三个词,任意、有序、集合,其实就是说明列表和元组是可以放置任意数据类型,其次是有序的,另外,它是一个集合。
列表是动态的,它的长度大小不固定的,可以随意的增加、删除或者改变。
元组是静态的,它的长度大小是固定的,无法增加、删除或者改变。
列表是动态的、可变的,而元组是静态的、不可变的。
列表的存储方式,如下所示:
元组的存储方式,如下所示:
存储同样的元素,元组使用的存储空间更小,要少16个字节。这是因为列表是动态的,所以列表中要存储指针,来指向对应的元素。另外,列表是可变的,所以需要额外存储已经分配的存储信息,因为它要知道现在已经存储了多少信息,还剩下多少,需不需要额外分配存储空间等等。所以,列表多出来的存储空间主要是:指针 + 存储空间长度。
如下例子可以看到列表存储空间的变化:
列表存储空间变化:
从列表和元组的存储方式可以得出,元组的性能是优于列表的。
元组和列表的初始化性能比较: