python基础第十二节
本小节来学习元组.
思考: 列表是可变的(可修改的).如果传递的信息, 不想要被修改, 就可以使用元组.
当我们需要在程序内存储数据, 但是又希望存储的数据不被修改, 那么就可以使用元组.
元组是有序不可变的.
- 可以容纳多个元素.
- 可以容纳不同类型的元素.
- 是有序的.
- 允许元素重复.
- 是不可变的.
12.1 元组的定义
跟列表的定义类似, 只是把定义列表的中括号换成小括号即可.
定义元组使用小括号, 使用,隔开各个元素
# 定义元组
变量名 = (元素1, 元素2, 元素3, ....)
# 定义空元组
变量名 = ()
变量名 = tuple()
# 定义单个元素的元组
变量名 = (元素, )
# 定义嵌套的元组
变量名 = ((元素1, 元素2), (元素3, 元素4))
12.2 元组的下标(索引)和切片
元组是有序的, 每一个元素, 都有其下标(索引, 和列表类似), 从前往后的方向.
元组的下标也是从0开始计算的, 依次递增, 按照下标索引的顺序, 可以取出对应位置的元素.
元组中的最后一个元素的下标为-1, 若从后向前取下标的话, 则下标不再依次递增, 而是依次递减.
注意: 修改指定位置的元素的值: 列表[下标] = 值, 在元组中是不可用的, 因为元组是不可变的.
切片:
语法: 元组[开始下标:结束下标:步长]
12.3 元组的常用操作.
- 元组.index(元素): 查找元素的下标.
- 元组.count(元素): 统计某元素的个数.
- len(元组): 统计元组元素的总数.
- 统计元组内元素的和(元组内元素是数字类型): sum(元组)
- 元组和列表的相互转换: 使用list()和tuple().
案例: 使用元组存储一组打分, 去掉最高分和最低分, 求平均分.
12.4 元组的不可变
在 Python 中,元组(Tuple)是不可变(Immutable)的数据类型,这意味着一旦创建了一个元组,就不能修改其中的元素,即元组的长度和元素值都不可变
这与列表(List)不同,列表是可变(Mutable)的数据类型,可以随时修改其中的元素。在 Python 中,元组和列表都可以用来存储一组有序的数据,但在不同的场景下需要选择不同的数据类型。
元组的不可变性带来了以下好处:
- 安全性:由于元组不可变,因此元组中的元素在创建后就不会发生改变,这有助于保护程序数据的完整性,避免意外的修改或误操作
- 可以作为字典的键:由于元组不可变,因此可以作为字典的键,而列表不能
- 可以作为函数参数:由于元组不可变,因此可以安全地将元组作为函数参数传递,不用担心在函数内部被修改
需要注意的是,虽然元组本身不可变,但是元组中的元素可能是可变对象,比如列表。在这种情况下,虽然元组本身不可变,但是可以通过修改列表中的元素来改变元组的值。因此,需要特别注意元组中元素的类型。