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 | 迭代 |