1. 主页
  2. 文档
  3. Python教程
  4. Python入门
  5. 元组(Tuple)

元组(Tuple)

元组(Tuple)是Python中的另一种重要的数据结构,类似于列表,但有一些关键区别。元组是不可变的,意味着一旦创建,就不能修改其内容。


创建元组:

可以使用圆括号()来创建一个元组,其中包含逗号分隔的元素。

empty_tuple = ()                 # 创建一个空元组
fruits = ("苹果""香蕉""橙子")  # 创建一个包含元素的元组


访问元组元素:

元组的元素可以使用索引来访问,索引仍然从0开始。

fruits = ("苹果""香蕉""橙子")
first_fruit = fruits[0]  # 获取第一个元素,即 "苹果"
second_fruit = fruits[1]  # 获取第二个元素,即 "香蕉"


元组长度:

可以使用内置函数len()来获取元组中元素的数量。

fruits = ("苹果""香蕉""橙子")
num_fruits = len(fruits)  # 获取元组中元素的数量,即 3


元组基本操作:

元组不可变,因此不能像列表那样添加、删除或修改元素。但可以执行以下操作:

1. 元组合并:

可以使用+运算符将两个元组合并成一个新元组。

tuple1 = (123)
tuple2 = (456)
combined_tuple = tuple1 + tuple2  # 合并成 (1, 2, 3, 4, 5, 6)

2. 复制元组:

使用*运算符复制元组中的元素。

tuple1 = (123)
copied_tuple = tuple1 * 2  # 复制元素,得到 (1, 2, 3, 1, 2, 3)

3. 元组切片:

可以使用切片操作来获取元组中的子元组。

numbers = (12345)
subtuple = numbers[1:4]  # 获取从索引1到3的子元组,即 (2, 3, 4)


元组不可变性:

由于元组是不可变的,因此一旦创建,就不能修改其内容。这意味着您不能添加、删除或更改元组中的元素。这在某些情况下是有用的,特别是当您希望确保数据的不可变性时。

fruits = ("苹果""香蕉""橙子")
# 以下操作会引发 TypeError
# fruits[0] = "梨子"  # 尝试修改元素
# fruits.append("草莓")  # 尝试添加元素
# del fruits[1]  # 尝试删除元素


元组的运算符

1. 合并运算符(+)

合并两个元组,生成一个新的元组,包含两个元组的所有元素。

tuple1 = (123)
tuple2 = (456)
combined_tuple = tuple1 + tuple2
# combined_tuple 的值为 (1, 2, 3, 4, 5, 6)

2. 重复运算符(*)

复制一个元组的内容多次,生成一个新的元组。

tuple1 = (123)
copied_tuple = tuple1 * 2
# copied_tuple 的值为 (1, 2, 3, 1, 2, 3)

3. 成员运算符(in 和 not in)

用于检查元素是否存在于元组中。

fruits = ("苹果""香蕉""橙子")
result1 = "苹果" in fruits  # True,因为 "苹果" 存在于元组中
result2 = "草莓" not in fruits  # True,因为 "草莓" 不存在于元组中

4. 比较运算符

可以用于比较两个元组的大小(按元素顺序比较)。

tuple1 = (123)
tuple2 = (456)
result = tuple1 < tuple2  # True,因为 (1, 2, 3) 在元组排序中位于 (4, 5, 6) 之前


元组内置函数

函数 描述
len(tuple) 返回元组中元素的数量。
max(tuple) 返回元组中的最大元素。
min(tuple) 返回元组中的最小元素。
tuple(seq) 将序列 seq 转换为元组。

示例代码

1. len(tuple) – 返回元组中元素的数量。

fruits = ("苹果""香蕉""橙子")
num_fruits = len(fruits)  # num_fruits 的值为 3

2. max(tuple) – 返回元组中的最大元素。

numbers = (124582760)
max_number = max(numbers)  # max_number 的值为 60

3. min(tuple) – 返回元组中的最小元素。

numbers = (124582760)
min_number = min(numbers)  # min_number 的值为 8

4. tuple(seq) – 将序列 seq 转换为元组。

list_seq = [12345]
tuple_from_list = tuple(list_seq)  # tuple_from_list 的值为 (1, 2, 3, 4, 5)

string_seq = "Python"
tuple_from_string = tuple(string_seq)  # tuple_from_string 的值为 ('P', 'y', 't', 'h', 'o', 'n')


元组遍历与索引访问

1. 遍历元组元素:

可以使用 for 循环来遍历元组中的元素:

fruits = ("苹果""香蕉""橙子")
for fruit in fruits:
    print(fruit)

这将输出:

苹果
香蕉
橙子

2. 使用索引访问元组元素:

可以使用索引来访问元组中的单个元素,索引从0开始:

fruits = ("苹果""香蕉""橙子")
first_fruit = fruits[0]  # 获取第一个元素,即 "苹果"
second_fruit = fruits[1]  # 获取第二个元素,即 "香蕉"

3. 遍历元组并获取索引:

如果需要同时访问元组的元素和它们的索引,可以使用 enumerate() 函数:

fruits = ("苹果""香蕉""橙子")
for index, fruit in enumerate(fruits):
    print(f"索引 {index}{fruit}")

这将输出:

索引 0: 苹果
索引 1: 香蕉
索引 2: 橙子

我们要如何帮助您?