元组和列表的区别
元组和列表的区别
相同点
- 元组和列表在 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] |
修改 | 不支持 | 支持 |
添加 | 不支持 | 支持 |
删除 | 不支持 | 支持 |
索引访问 | 支持 | 支持 |
切片 | 支持 | 支持 |
遍历 | 支持 | 支持 |
应用场景 | 固定的,不会被修改的数据 | 不固定的,可以被修改的数据 |
占用内存 | 较小 | 较大 |