3.3. 读取数据

元组也支持下标,所以使用元组名[索引值]的方式来读取值。

# 元组的下标
t1 = (28, 67, 21, 67, 11)
print(t1[3])  # 67
print(t1[-1]) # 11

3.4. 元组不可修改

元组中的元素,不可修改,但元组中如果存放了可变类型(如:列表),那可变类型中的内容仍可修改。

# 元组中的元素,不可修改
t1 = (28, 67, 21, 67, 11)
t1[0] = 100

# 元组中的元素,不可修改,但元组中如果存放了可变类型(列表),那可变类型中的内容仍可修改
t2 = (28, 67, 21, 67, 11, [100, 200, 300, ('你好', '大赛人')])
t2[5] = 400
t2[5][2] = 400
t2[5][3][0] = 'hello'
print(t2)

3.5. 元组的常用方法

由于元组不可修改,所以它的常用方法只有两个:

1️⃣使用元组.index(元素),获取指定元素在元组中第一次出现的下标。

# index 方法:获取指定元素在元组中第一次出现的下标。
t1 = (28, 67, 21, 67, 11)
result = t1.index(67)
print(result)  # 1

2️⃣使用元组.count(元组),统计指定元素在元组中出现的次数。

# count 方法:统计指定元素在元组中出现的次数。
t1 = (28, 67, 21, 67, 11)
result = t1.count(67)
print(result)  # 2

3.6. 元组的常用内置函数

元组的常用内置函数和列表一样,依然是这几个:max、min、len、sorted、sum。

# 常用内置函数
# max 函数,返回元组中的最大值
t1 = (23, 11, 32, 30, 17)
result = max(t1)
print(result)  # 32

# min 函数,返回元组中的最小值
t1 = (23, 11, 32, 30, 17)
result = min(t1)
print(result)  # 11

# len 函数,返回元组中元素的个数(元组长度)
t1 = (23, 11, 32, 30, 17)
result = len(t1)
print(result)  # 5

# sorted 函数,对元组进行排序(不修改原元组,返回一个新的列表)
t1 = (23, 11, 32, 30, 17)
result = sorted(t1, reverse=True)
print(tuple(result)) # (32, 30, 23, 17, 11)

# sum 函数,统计元组中所有元素的和(元素必须是纯数字)
t1 = (23, 11, 32, 30, 17)
result = sum(t1)
print(result) # 113

3.7. 元组的循环遍历

元组的遍历与列表一样,可以使用while循环遍历,或for循环遍历。

# 元组的循环遍历
t1 = (23, 11, 32, 30, 17)

# while循环遍历
index = 0
while index < len(t1):
    print(t1[index])
    index += 1

# 元组的循环遍历
t1 = (23, 11, 32, 30, 17)

# for循环遍历
for item in t1:
    print(item)

3.8. 解包列表或元组传参

解包列表、解包元组传参,就是把其中的元素依次取出,作为多个独立的参数传入函数。

# 定义函数时,使用*args(变量不一定非要用args,比如写:*data也行),将收到的多个参数,打包成一个元组
def test(*args):
    print(f'我是test函数,我收到的参数是:{args},参数类型是:{type(args)}')

list1 = [100, 200, 300, 400]
tuple1 = ('你好', '北京', '大赛人')

# 函数调用时,正常传递:列表 或 元组
# test(list1)
# test(tuple1)

# 函数调用时,使用*对:列表 或 元组进行解包后,再传递参数
test(*list1)  # 此种写法相当于:test(100, 200, 300, 400)
test(*tuple1)  # 此种写法相当于:test('你好', '北京', '大赛人')

3.9. 元组特点总结

  1. 可存放不同类型的元素。
  2. 元素是有序存储的(正索引、负索引)。
  3. 元组中的元素允许重复。
  4. 元素不允许修改文(不能:增、删、改、只能:查)。
  5. 长度固定定(一旦创建,元素个数不能增减)。

一句话总结:元组是一种“只读”的数据容器,想保存一批“不会变的数据”时,首选元组。

3.10. 元组 VS 列表

区别点列表(list)元组(tuple)
是否可变可变不可变
使用场景可变数据集合不变的结构化数据,安全性更高
语义表示一组可能变化的数据表示一组固定结构的数据

注意:元组不是用来替代列表的,而是用来在数据不需要修改的情况下,作为列表的补充选择。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像-大赛人网
欢迎您留下宝贵的见解!
提交
头像-大赛人网

昵称

取消
昵称

    请登录后查看评论内容