python中元组的创建及应用

谁说我不能喝 提交于 2019-12-24 20:02:26
1. 元组的创建
元组:元组本身是不可变数据类型,没有增删改查
元组可以存储任意数据类型
  • 1
  • 2
t = (1,2.3,'westos',True)    #定义一个元组
print(t,type(t))        #打印这个元组和类型
  • 1
  • 2

在这里插入图片描述
可以看到,这样定义的数据类型为元组类型

元组里包含可变数据类型,可以间接修改元组内容
  • 1
t1 = ([1,2,3],4)
t1[0].append(5)  #在索引0处追加一个5元素
print(t1)  #查看元组
  • 1
  • 2
  • 3

在这里插入图片描述
元组如果只有一个元素的时候

# t2 = ('hello')  #此种方式建立的是一个字符串,不是一个元组
t2 = ('hello',)    #加一个逗号,可以看到,这种方式创建的是一个元组
print(t2,type(t2))   
  • 1
  • 2
  • 3

在这里插入图片描述
在这里插入图片描述

2. 元组的特性
users = ('root','westos','redhat')   #定义元组,存储用户名
passwds = ('123','456','789')   #再定义一个元组,存储用户名对应的密码
  • 1
  • 2
2.1 索引 切片
print(users[0])   #打印users元组的索引值为0的元素
print(users[-1])  #打印users元组的最后一个元素
print(users[1:])  #打印users元组除了第一个元素的其他元素
print(users[:2])  #打印users元组索引值2之前的元素
print(users[::-1]) #倒序输出users元组内的元素
  • 1
  • 2
  • 3
  • 4
  • 5

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元组中的元素
  • 1

在这里插入图片描述

2.3 连接
print(users + ('rhce','rhcsa'))  #在users元组后再连接两个元素
  • 1

在这里插入图片描述

2.4 成员操作符
print('westos' in users)  #查看‘westos’元素是否在users元组中,输出值为布尔类型
print('westos' not in users)  #查看‘westos’元素是否不在users元组中,输出值为布尔类型,不在users元素中输出为True
  • 1
  • 2

在这里插入图片描述

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’元素在元组中第一次出现的下标
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

遍历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]  #将元组(12)的第0个索引值对应的元素赋值给b,将元组(12)的第1个索引值对应的元素赋值给a
print(a,b)
a,b = b,a
print(a,b)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

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))) #去掉一个最高分,去掉一个最低分,求其平均成绩
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!