文章目录
- 一、什么是元组 ?
- 二、元组的具体操作
- 2.1 创建元组
- 2.1.1 tuple() 创建元组函数和 list() 创建列表函数总结
- 2.2 元组的元素访问操作
- 2.3 元组的元素计数操作
- 2.4 zip 对象
一、什么是元组 ?
-
列表属于可变序列,可以任意修改列表中的元素。
元组的访问和处理速度比列表快。
元组属于不可变序列,不能修改元组中的元素,因此,元组没有增加元素,修改元素,删除元素相关的方法。-
因此,只需要学习元组的创建和删除,元组中元素的访问和计数即可,元组支持如下操作
-
- 索引访问
-
- 切片操作
-
- 链接操作
-
- 成员关系操作
-
- 比较运算符
-
- 计数:元组长度len(),最大值max(),最小值min(),求和sum(),等
-
-
注意:元组的元素不能修改
- 元组不可向列表一样通过下标去修改列表中的数据,如果直接修改会报出异常
-
a = (20,30,9,8,3)a = [0]a[3]=33 #异常
-
元组的元素访问和列表一样,如果是单个元素是具体的数据,如果是范围访问返回的仍然是元组对象
-
a=(20,10,30,9,8)print(a[1])print(type(a[1]))print(a[1:3])print(type(a[1:3]))print(a[1:3])print(a[:4])print(a[::-1])
- 运行结果:
- 运行结果:
二、元组的具体操作
2.1 创建元组
-
通过 “()” 创建元组,(小括号可以省略)
-
a=(10,20,30) # 或者 a=10,20,30
-
注意:如果元组中只有一个元素,则必须后面加逗号,这是因为解释器会把(1)解释为整数1,而 (1,)解释为元组
-
a = (1,) # 或者 a =1,# 但是需要注意的是a = (1) #这种写法并不是元组 如果元组里面只有一个元素要在最后面加,print(type(a))
-
-
-
通过 “tuple()” 函数创建(tuple(可迭代的对象))
-
b=tuple() #创建一个空元组对象print(b)b=tuple("abc") # 创建一个元组对象,并根据传入的字符串迭代成元组print(b)b=tuple(range(3)) # 创建一个元组对象,并传入下标从0到3 在元组中迭代三个数字print(b)b=tuple([2,3,4]) # 创建一个元组对象,并传入列表在元组中把内容迭代出来print(b)
- 运行结果
- 运行结果
-
2.1.1 tuple() 创建元组函数和 list() 创建列表函数总结
-
tuple() 可以接收列表,字符串,其他序列类型,迭代器生成元组
-
list() 可以接收元组,字符串,其他序列类型,迭代器等生成列表
2.2 元组的元素访问操作
index(): 获取元素的下标
-
a=(20,10,30,9,8)print(a.index(10))
- 运行结果:1
count(): 获取元素在元组中出现的次数
-
a=(20,10,30,9,8,10)print(a.count(10))
- 运行结果:2
sorted(): 将元组中的数据进行排序,输出成一个新的列表对象
-
列表关于排序的方法list.sorted()是修改原列表对象,元组没有该方法,如果对元组排序,只能使用内置函数sorted(tupleObj),并生成新的列表对象
-
a=(20,10,30,9,8)print(sorted(a))
- 运行结果:[8, 9, 10, 20, 30]
+ : 元组的拼接,元组可以直接用 “ + ” 拼接,将两个元组中的数据拼接成一个元组
-
a = (1, 20)b = (30, 20)print(a+b)
- 运行结果:(1, 20, 30, 20)
2.3 元组的元素计数操作
len():获取元组的长度
max(): 获取元组中最大值
min(): 获取元组中最小值
sum ():获取元组中全部元素相加的总和
-
代码示例
-
a=(20,10,30,9,8)# 因为获取出的结果为 int 类型,需要使用类型转换打印输出,使结果更加直观print("获取元组长度:" + str(len(a)))print("获取元组最大元素" + str(max(a)))print("获取元组最小元素:" + str(min(a)))print("计算元组中全部元素的总和:" + str(sum(a)))
- 运行结果:
-
2.4 zip 对象
zip(obj obj):将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
-
a = [1,2,3]b = ['a','b','c']c = [1.03,2.65,5.89]d = zip(a,b,c) # 将列表存储进 zip 对象当中e = zip(a,b,c)print(type(d)) # 打印当前对象类型print(tuple(d)) # 将对象存储进元组中,并将对象中的元素迭代入元组当中print(list(e)) # 将对象存储进元组中,并将对象中的元素迭代入列表当中
- 运行结果:
- 运行结果: