Python中的元组(tuple)是一个不可变的序列,可以包含任意类型的数据,通常用于存储相关数据项。本文将介绍元组的定义、访问、修改及操作等知识点。

1. 元组的定义

元组可以通过将逗号分隔的数据项放在圆括号或者仅用逗号分隔的列表中来定义。以下是几种常见的定义方式:

>>> t1 = ()  # 空元组
>>> t2 = (1, 2, 3)  # 包含三个整数的元组
>>> t3 = ('a', 'b', 'c')  # 包含三个字符的元组
>>> t4 = (1, 'a', True)  # 包含整数、字符和布尔值的元组
>>> t5 = 1, 2, 3  # 省略了圆括号,仅用逗号分隔的列表也是元组

2. 元组的访问

可以通过下标(索引)方式访问元组中的元素,索引从0开始。也可以使用切片(slice)方式获取子元组。示例:

>>> t = (1, 2, 3, 4, 5)
>>> t[0]  # 访问第一个元素
1
>>> t[-1]  # 访问最后一个元素
5
>>> t[1:4]  # 获取从第二个元素到第四个元素(不包含)的子元组
(2, 3, 4)

3. 元组的修改

由于元组是不可变的,因此不能直接对元组进行修改。但是可以通过重新定义一个新的元组来间接实现修改的效果。

>>> t = (1, 2, 3)
>>> t[0] = 4  # 尝试修改元组的第一个元素,将会引发错误
TypeError: 'tuple' object does not support item assignment
>>> t = (4,) + t[1:]  # 创建一个新的元组,将新的元素和原来的元组拼接
>>> t
(4, 2, 3)

4. 元组的操作

元组支持多种操作,包括连接、重复、计数、排序等。

4.1 连接和重复:

>>> t1 = (1, 2, 3)
>>> t2 = ('a', 'b', 'c')
>>> t = t1 + t2  # 连接两个元组
>>> t
(1, 2, 3, 'a', 'b', 'c')
>>> t = t1 * 3  # 重复一个元组
>>> t
(1, 2, 3, 1, 2, 3, 1, 2, 3)

4.2 计数和排序:

>>> t = (1, 2, 3, 2, 2, 4, 5)
>>> t.count(2)  # 统计元组中2出现的次数
3
>>> sorted(t)  # 对元组排序,默认升序
[1, 2, 2, 2, 3, 4, 5]
>>> sorted(t, reverse=True)  # 对元组排序,降序
[5, 4, 3, 2, 2, 2, 1]