Skip to content

元组和列表的区别

元组和列表的区别

相同点

  • 元组和列表在 Python 中,都是有序的,可迭代的数据结构。
  • 元组和列表都是异构的,都可以存放不同数据类型的元素。

不同点

  • 元组是不可变的,不可以进行增删改操作,一旦定义,无法修改
  • 列表是可变的,可以对列表中的元素进行增删改操作,空列表有实际意义。

内存占用

由于元组与列表内部的实现机制不同,在相同元素和个数的情况下,元组占用内存空间更小。

from sys import getsizeof
t = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(getsizeof(t))
print(getsizeof(l))

总结对比

对比 元组 列表
定义 (1, 2, 3) [1, 2, 3]
修改 不支持 支持
添加 不支持 支持
删除 不支持 支持
索引访问 支持 支持
切片 支持 支持
遍历 支持 支持
应用场景 固定的,不会被修改的数据 不固定的,可以被修改的数据
占用内存 较小 较大