Lesson 78 python中元组的创建,特性及应用
文章目录
- 1. 元组的创建
- 2. 元组的特性
- 2.1 索引 切片
- 2.2 重复
- 2.3 连接
- 2.4 成员操作符
- 2.5 for循环
- 3. 元组的应用
1. 元组的创建
元组:元组本身是不可变数据类型,没有增删改查
元组可以存储任意数据类型
t = (1,2.3,'westos',True) #定义一个元组
print(t,type(t)) #打印这个元组和类型
可以看到,这样定义的数据类型为元组类型
元组里包含可变数据类型,可以间接修改元组内容
t1 = ([1,2,3],4)
t1[0].append(5) #在索引0处追加一个5元素
print(t1) #查看元组
元组如果只有一个元素的时候
# t2 = ('hello') #此种方式建立的是一个字符串,不是一个元组
t2 = ('hello',) #加一个逗号,可以看到,这种方式创建的是一个元组
print(t2,type(t2))
2. 元组的特性
users = ('root','westos','redhat') #定义元组,存储用户名
passwds = ('123','456','789') #再定义一个元组,存储用户名对应的密码
2.1 索引 切片
print(users[0]) #打印users元组的索引值为0的元素
print(users[-1]) #打印users元组的最后一个元素
print(users[1:]) #打印users元组除了第一个元素的其他元素
print(users[:2]) #打印users元组索引值2之前的元素
print(users[::-1]) #倒序输出users元组内的元素
print(users[0]) #打印users元组的索引值为0的元素
print(users[-1]) #打印users元组的最后一个元素
print(users[1:]) #打印users元组除了第一个元素的其他元素
print(users[:2]) #打印users元组索引值2之前的元素
print(users[::-1]) #倒序输出users元组内的元素
2.2 重复
print(users * 3) #打印三次users元组中的元素
2.3 连接
print(users + ('rhce','rhcsa')) #在users元组后再连接两个元素
2.4 成员操作符
print('westos' in users) #查看‘westos’元素是否在users元组中,输出值为布尔类型
print('westos' not in users) #查看‘westos’元素是否不在users元组中,输出值为布尔类型,不在users元素中输出为True
2.5 for循环
for user in users: #遍历user元组,打印每个元素
print(user)
for index,user in enumerate(users): #枚举users元组的每个下标和元素,并且以一一对应的格式输出
print(index,'-->',user)
for user,passwd in zip(users,passwds): #将users和passwd合并,遍历user和passwd元素,以user:passwd的形式打印出来
print(user,':',passwd)
t = (1,1.2,True,'westos') #定义一个元组
print(t.count('westos')) #打印‘westos’元素在元组中有几个
print(t.index('westos')) #打印‘westos’元素在元组中第一次出现的下标
遍历user元组,打印每个元素
枚举users元组的每个下标和元素,并且以一一对应的格式输出
将users和passwd合并,遍历user和passwd元素,以user:passwd的形式打印出来
可以看到,‘westos’在元组中出现的次数为1,第一次出现的下标为3
3. 元组的应用
a = 1
b = 2
#1.(a,b) = (1,2) #先定义元组(a,b)为(1,2)
#2.b,a=a,b --> b,a=(1,2) #将a,b赋值给b,a(交换a,b)
#b=(1,2)[0] a=(1,2)[1] #将元组(1,2)的第0个索引值对应的元素赋值给b,将元组(1,2)的第1个索引值对应的元素赋值给a
print(a,b)
a,b = b,a
print(a,b)
scores = (100,89,45,78,65) #定义一个学生分数的元组
# scoreli = list(scores) #将元组类型转换为列表
# scoreli.sort() #对列表进行排序
# print(scoreli) #打印列表
scores = sorted(scores) #对列表进行排序
print(scores) #打印列表
minscore,*middlescore,maxscore = scores #将排好序的列表赋给minscore,*middlescore,maxscore
print(minscore)
print(middlescore)
print(maxscore)
print('最终成绩为: %.2f' %(sum(middlescore) / len(middlescore))) #去掉一个最高分,去掉一个最低分,求其平均成绩