Python中,元组(tuple)是一种不可变的序列数据类型,用于存储一组有序的元素。与列表类似,元组可以包含不同类型的元素,但元组一旦创建,就不能修改其中的元素。

1、元组(Tuple)

元组是有序且不可更改的集合。 在Python中,元组带有圆括号。

例如:

创建一个元组:

# 创建一个空元组
empty_tuple = ()
print(empty_tuple)  # 输出: ()

# 创建一个包含一些元素的元组
tuple1 = (1, 2, 3)
print(tuple1)  # 输出: (1, 2, 3)

# 创建一个包含不同类型元素的元组
tuple2 = ('cjavapy', 3.14, True)
print(tuple2)  # 输出: ('hello', 3.14, True)

# 创建一个单元素元组,注意逗号
single_element_tuple = (5,)
print(single_element_tuple)  # 输出: (5,)

1)元组的不可变性

tuple4 = (1, 2, 3) # 尝试修改元组元素会引发错误 # tuple4[1] = 100 # TypeError: 'tuple' object does not support item assignment

2)元组解包

tuple5 = ('apple', 'banana', 'cherry')

# 将元组中的元素解包到变量中
fruit1, fruit2, fruit3 = tuple5
print(fruit1)  # 输出: apple
print(fruit2)  # 输出: banana
print(fruit3)  # 输出: cherry

2、访问元组中的值

可以通过在方括号内引用索引号来访问元组项:

例如:

打印元组中的第二项:

tuple3 = (10, 20, 30, 40, 50)

# 通过索引访问元素
print(tuple3[0])  # 输出: 10
print(tuple3[3])  # 输出: 40

# 使用负索引访问元素
print(tuple3[-1])  # 输出: 50
print(tuple3[-2])  # 输出: 40

1)负索引

负索引表示从最后开始,-1表示最后一项,-2表示倒数第二项,依此类推。

例如:

打印元组的最后一项:

tuple3 = (10, 20, 30, 40, 50)

# 使用负索引访问元素
print(tuple3[-1])  # 输出: 50
print(tuple3[-2])  # 输出: 40

2)索引范围(切片)

可以通过指定范围的起点和终点来指定索引范围。

指定范围时,返回值将是带有指定项目的新元组。

例如:

tuple3 = (10, 20, 30, 40, 50)

print(tuple3[2:5])

3)负索引范围(切片)

如果要从元组的末尾开始搜索,请指定负索引:

例如:

本示例将项目从索引-4(包括)返回到索引-1(排除)

tuple1 = ("c", "java", "python", "cjavapy", "js", "linux", "docker")
print(tuple1[-4:-1])

3、改变元组的值

创建元组后,您将无法更改其值。 元组是不变的,或者也称为不变。

但是有一种解决方法。 可以将元组转换为列表,更改列表,然后将列表转换回元组。

例如:

将元组转换为列表即可进行更改:

x = ("c", "java", "python")
y = list(x) y[1] = "kiwi" x = tuple(y) print(x)

4、循环遍历元组

可以使用for循环遍历元组项。

例如:

遍历项并打印输出值:

tuple1 = ("c", "java", "python")
for x in tuple1: print(x)

相关文档Python for循环语句

5、判断元组中值是否存在

要确定元组中是否存在指定的值,请使用in关键字:

例如:

检查元组中是否存在"python":

tuple1 = ("c", "java", "python")
if "python" in tuple1: print("Yes, 'python' is a programming language")

6、元组的长度

要确定一个元组有多少项,可以使用len()方法:

例如:

打印元组中的元素数量:

tuple1 = ("c", "java", "python")
print(len(tuple1))

7、元组添加元素

创建元组后,将无法向其添加元素。 元组不可更改。

例如:

不能向元组添加项:

thistuple = ("c", "java", "python")
thistuple[3] = "c#" # 引发一个错误 print(thistuple)

8、创建带有一个元素的元组

要创建仅包含一个项目的元组,必须在该项目后添加逗号,否则Python不会将其识别为元组。

例如:

一个值的元组,记住逗号:

tuple1 = ("python",)
print(type(tuple1))

#NOT a tuple
tuple1 = ("python")
print(type(tuple1))

9、删除元组中的元素

注意:您不能删除元组中的元素。

元组不可更改,因此无法从中删除元素,但可以完全删除元组:

例如:

del关键字可以完全删除元组:

thistuple = ("c", "java", "python")
del thistuple print(thistuple) #引发一个错误,因为元组已经不存在了

10、连接两个元组

要连接两个或多个元组,可以使用+运算符:

例如:

加入两个元组:

tuple1 = ("a", "b" , "c")
tuple2 = (1, 2, 3)

tuple3 = tuple1 + tuple2
print(tuple3)

11、元组的构造函数tuple()

也可以使用tuple()构造函数创建一个元组。

例如:

使用tuple()方法生成一个元组:

thistuple = tuple(("c", "java", "python")) # 注意双括号
print(thistuple)

12、元组方法

Python有两个可在元组上使用的内置方法。

方法

描述

count()

返回指定值在元组中出现的次数

index()

在元组中搜索指定的值,并返回找到它的位置

13、元组运算符

与字符串一样,元组之间可以使用 + 号和*号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

Python 表达式结果描述
len((1, 2, 3))3计算元素个数
(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)连接
('Hi!',) * 4('Hi!', 'Hi!', 'Hi!', 'Hi!')复制
3 in (1, 2, 3)True元素是否存在
for x in (1, 2, 3): print x,1 2 3迭代

推荐文档