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

1.创建元组:

tuple = ("zhangsan", "lisi", "wangwu")
print(tuple)

#运行结果
('zhangsan', 'lisi', 'wangwu')

注意:创建仅包含一个项目的元组,需要在该项目后添加一个逗号,否则python无法将变量识别为元组。

tuple = ("zhangsan",)
print(type(tuple))

#运行结果:
<class 'tuple'>

还可以用tuple()构造函数创造元组

tuple4 = tuple(("apple", "banana", "cherry"))  # 请注意双括号
print(tuple4)
#运行结果:
('apple', 'banana', 'cherry')

2.访问元组:

#例1:正索引
tuple = ("zhangsan", "lisi", "wangwu")
print(tuple[1])
#运行结果:
lisi

#例2:负索引
tuple = ("zhangsan", "lisi", "wangwu")
print(tuple[-1])
#运行结果:
wangwu

#例3:索引范围(正)  注意:返回的是一个新的元组
tuple = ("zhangsan", "lisi", "wangwu","zhaoliu","tianqi")
print(tuple[2:4])
#运行结果:
('wangwu', 'zhaoliu')

#例4:索引范围(负)
tuple = ("zhangsan", "lisi", "wangwu","zhaoliu","tianqi")
print(tuple[-4:-1])
#运行结果:
('lisi', 'wangwu', 'zhaoliu')

3.遍历元组

tuple1 = ("zhangsan", "lisi", "wangwu")
for x in tuple1:
    print(x)

#运行结果:
zhangsan
lisi
wangwu

4.更改元组值

1)创建元组后,将无法更改其值,元组是不可变的,恒定的。如果要更改元组的值,解决方法就是将元组转换为列表,更改列表,然后将列表转换回元组。

x = ("zhangsan", "lisi", "wangwu")
y = list(x)
y[1] = "zhaoliu"
x = tuple(y)
print(x)
print(y)

运行结果:x为新的元组,y为列表
('zhangsan', 'zhaoliu', 'wangwu')
['zhangsan', 'zhaoliu', 'wangwu']

2)元组一旦创建,就无法向其添加项目,如果添加会出现如下错误。

tuple = ("zhangsan", "lisi", "wangwu")
tuple[3] = "zhaoliu"
print(tuple)
#运行结果:
TypeError: 'tuple' object does not support item assignment

5.检查元组项目,使用in关键字

tuple = ("apple","cherry","watermelon")
if "apple" in tuple:
    print("Yes, ’apple’ is in the fruits tuple")

#运行结果:
Yes, ’apple’ is in the fruits tuple

6.元组长度测算,使用len()函数

tuple1 = ("apple","cherry","watermelon")
print(len(tuple1))

#运行结果:
3

7.删除元组

#因为元组是不可更改的,因此无法删除元组中的项目,但是可以删除元组,使用del关键字即可。
tuple2 = ("apple","cherry","watermelon")
del tuple2
print(tuple2) 
# 这会引发错误,因为元组已不存在。运行结果显示如下错误:
NameError: name 'tuple2' is not defined

8.合并元组

#合并两个元组,如需连接两个或多个元组,可以使用 + 运算符:
tuple1 = ("a","b" ,"c")
tuple2 = (1, 2, 3)
tuple3 = tuple1 + tuple2
print(tuple3)
#运行结果:
('a', 'b', 'c', 1, 2, 3)

9.count()方法返回指定值在元组中出现的次数

#例:返回值 4 在元组中出现的次数:
tuple = (1, 3, 7, 8, 7, 5, 4, 6, 8, 5, 2, 4)
x = tuple.count(4)
print(x)
运行结果:
2

10.index() 方法查找指定值的第一次出现,如果未找到该值,index() 方法将引发异常。

#例1:返回首次出现数字7的索引位置
tuple6 = (1, 3, 7, 8, 7, 5, 4, 6, 8,  5, 2, 4)
x = tuple6.index(7)
print(x)
#运行结果:
2

#例2:返回首次出现数字0的索引位置,因元组中不含0,因此出现错误。
tuple7 = (1, 3, 7, 8, 7, 5, 4, 6, 8,  5, 2, 4)
x = tuple7.index(0)
print(x)
#运行结果:
ValueError: tuple.index(x): x not in tuple