Python 篇章(十一)
一、Tuple概念
1. 什么是元组
-
元组本质
- 是一种有序集合
- 而且元组中的元素可以是不同类型的
-
元组特点
- 与列表非常相似
- 一旦初始化就不能修改。
-
元组就是用 大括号 将 一个或多个元素 括起来的数据列表
- 例如:
- (1)
- ("lemon")
- (1, "lemon")
- 例如:
2. 如何创建元组?
- 格式:
- 元组名 = (元组元素1, 元组元素2, 元组元素3, ......, 元组元素n)
- 示例
# 创建空的元组
tuple1 = ()
print(tuple1) # ()
# 创建带有元素的元组
tuple2 = (1, 1.2, "lemon", True)
print(tuple2) # (1, 1.2, 'lemon', True)
# 定义只有一个元素的元组, 注意必须加上逗号,如果不加,他的本质就不是元素而是数字
tuple3 = (1, )
print(tuple3, type(tuple3)) # (1,) <class 'tuple'>
二、元组的操作
1. 取值
- 格式:
- 元组名[下标] #下标从0开始
- 示例
tuple4 = (1, 2, 3)
print(tuple4[0:]) # (1, 2, 3)
print(tuple4[:3]) # (1, 2, 3)
print(tuple4[0]) # 1
print(tuple4[1]) # 2
print(tuple4[2]) # 3
# print(tuple4[3]) # 下标超过范围(越界),会报错!
print(tuple4[-1]) # 3;获取元组中倒数第一个元素
print(tuple4[-2]) # 2;获取元组中倒数第二个元素
# print(tuple4[-4]) # 同理,下标超过范围(越界),会报错!
2. 修改
- 元组不可变,但它可以修改它里面元素的值,比如(list、dict)
- 示例
tuple5 = (1, 2, 3, [4, 5, 6])
# tuple5[0] = 100 # 报错,元组中的元素不能变,但是可以修改元组中元素列表中的值
tuple5[-1][0] = 400
tuple5[-1][-2] = 500
tuple5[-1][-1] = 600
# tuple5[-1] = [400, 500, 600] # 报错,只能修改元组中元素列表中的值
print(tuple5) # (1, 2, 3, [400, 5, 600])
3. 删除元组
- del
- 格式:
- del 元组名
- 示例
tuple6 = (1, 2, 3)
del tuple6
print(tuple6) # 报错:NameError: name 'tuple6' is not defined;找不到这个元组
4. 元组相加
- 示例
t1 = (1, 2, 3)
t2 = (4, 5, 6)
print(t1 + t2) # (1, 2, 3, 4, 5, 6)
t3 = t1 + t2
print(t3) # (1, 2, 3, 4, 5, 6)
5. 元组重复
- 示例
t4 = (1, 2, 3)
print(t4 * 2) # (1, 2, 3, 1, 2, 3)
6. 判断元组里的某个元素是否存在
t5 = (1, 2, "lemon")
print("lemon" in t5) # True
print(3 in t5) # False
7. 元组的截取
-
从开始下标之后开始截取,截取到结束下标之前
-
格式:元组名[开始下标:结束下标]
-
示例
t6 = (1, 2, 3, 4, 5, 6, 7, 8)
print(t6[1:6]) # (2, 3, 4, 5, 6)
print(t6[1:]) # (2, 3, 4, 5, 6, 7, 8)
print(t6[:5]) # (1, 2, 3, 4, 5)
8. 二维元组
- 示例
t7 = ((1, 2, 3),(4, 5, 6),(7, 8, 9))
print(t7) # ((1, 2, 3), (4, 5, 6), (7, 8, 9))
print(t7[1], t7[1][1]) # (4, 5, 6) 5
9. 将列表转成元组
- 示例
list = [1, 2, 3, 4, 5]
t4 = tuple(list)
print(t4) # (1, 2, 3, 4, 5)
三、元组的方法
1. len()
- 返回元组中元素的个数
- 示例
t1 = (1, 2, 3, 4, 5)
print(len(t1)) # 5
2. max() min()
max
返回元组中元素的最大值min
返回元组中元素的最小值- 示例
t2 = (1, 2, 3, 4, 5)
# max()
print(max(t2)) # 5
print(max((10, 20, 30, 40, 50))) # 50
# 3)min()
print(min(t2)) # 1
print(min((10, 20, 30, 40, 50))) # 10
3. 元组的遍历
- 示例
tuple1 = (1, 2, 3, 4)
for i in tuple1:
print(i)