python中元组的创建,特性及应用

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元组内的元素

在这里插入图片描述
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’元素在元组中第一次出现的下标

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

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))) #去掉一个最高分,去掉一个最低分,求其平均成绩

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值