Python 元组


Python 元组是一种不可变(immutable)序列,与列表(List)的最大不同在于元组一旦被创建,其元素不可更改,由于其简单、易用等特点,被广泛应用于Python编程中。

创建元组

Python 元组可以用圆括号或 tuple() 函数来创建,下面是两种创建元组的方式:

tuple1 = (1, 2, 3, 4, 5)   # 用圆括号创建元组
tuple2 = tuple([1, 2, 3, 4, 5])  # 用 tuple() 函数创建元组

访问元组内元素

元组内的元素可以通过下标来访问,从0开始计数,下标不能为负,如果超出了元组的范围,Python 会抛出 IndexError 异常。下面是访问元组的演示:

>>> tuple1 = (1, 2, 3, 4, 5)
>>> print(tuple1[0])
1
>>> print(tuple1[4])
5
>>> print(tuple1[5])   # 访问不存在的下标,会触发 IndexError 异常
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: tuple index out of range

元组的切片操作

元组可以进行切片操作,返回一个新的元组,切片范围包含左边的下标,并不包含右边的下标,语法与列表的切片操作一样。

>>> tuple1 = (1, 2, 3, 4, 5)
>>> print(tuple1[1:3])   # 切片取 1 和 3 下标之间的元素,包含 1 不包含 3
(2, 3)

元组的元素数量、最大值、最小值

元组内可以使用 len() 函数来返回元素数量,使用 max() 和 min() 函数来分别返回元素的最大值和最小值,下面是演示:

>>> tuple1 = (1, 2, 3, 4, 5)
>>> print(len(tuple1))   # 返回元素数量
5
>>> print(max(tuple1))   # 返回元素的最大值
5
>>> print(min(tuple1))   # 返回元素的最小值
1

元组的操作

元组不支持修改操作,但支持其他类型的操作,如 +、*、in 和 not in 等操作,列表中所介绍的操作大部分同样适用于元组,下面我们分别进行演示:

>>> tuple1 = (1, 2, 3, 4, 5)
>>> tuple2 = (6, 7, 8)
>>> print(tuple1 + tuple2)   # 连接两个元组返回新元组
(1, 2, 3, 4, 5, 6, 7, 8)
>>> print(tuple1 * 2)   # 复制元组,返回新元组
(1, 2, 3, 4, 5, 1, 2, 3, 4, 5)
>>> print(2 in tuple1)   # 判断元素是否在元组中
True
>>> print(0 not in tuple1)   # 判断元素是否不在元组中
True

利用元组实现数据交换

元组不仅可以存储数据,还可以用来实现数据交换,这是由于 Python 允许同时定义多个变量,如下面的例子:

# 实现数据交换
x = 100
y = 200
print("交换前:", x, y)   # 输出:交换前: 100 200
x, y = y, x
print("交换后:", x, y)   # 输出:交换后: 200 100

总结

本文介绍了 Python 元组的创建、访问元素、切片操作、元素数量、最大和最小值、操作等常见操作,了解元组的特性能够更好地理解和应用 Python 的相关知识点,因此相信通过本文的介绍,读者对 Python 元组的使用已经初步了解。