1、元组tuple与列表List相同点

  • 元组tuple与列表List都是序列类型的容器对象,可以存放任何类型的数据、支持切片、迭代等操作。

2、元组tuple与列表List不同点

  • 不可变 与 可变:两种类型除了字面上的区别(括号与方括号)之外,最重要的一点是tuple是不可变类型,大小固定,而 list 是可变类型、数据可以动态变化,这种差异使得两者提供的方法、应用场景、性能上都有很大的区别。

同样大小的数据,tuple 占用的内存空间更少:

原子性的 tuple 对象还可作为字典的键:

  • 同构 与 异构:tuple 用于存储异构(heterogeneous)数据,当做没有字段名的记录来用,比如用 tuple 来记录一个人的身高、体重、年龄。而列表一般用于存储同构数据(homogenous),同构数据就是具有相同意义的数据,雅思考试内容比如下面的都是字符串类型。

tuple 用于存储异构(heterogeneous)数据:

而列表一般用于存储同构数据(homogenous),同构数据就是具有相同意义的数据,比如下面的都是字符串类型:

list 存放的多条用户记录:

数据库操作中查询出来的记录就是由元组构成的列表结构。

总结:元组和列表是常用的数组类型,在使用过程中,列表擅长对可变数据的操作,一般用于同构数据,而元组主要用于异构数据,数据库操作中查询出来的记录就是由元组构成的列表结构。