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))        #打印这个元组和类型

用python 创建元组并插入 python元组的创建_数据类型


可以看到,这样定义的数据类型为元组类型

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

用python 创建元组并插入 python元组的创建_用python 创建元组并插入_02


元组如果只有一个元素的时候

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

用python 创建元组并插入 python元组的创建_赋值_03


用python 创建元组并插入 python元组的创建_数据类型_04

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

用python 创建元组并插入 python元组的创建_用python 创建元组并插入_05


print(users[-1]) #打印users元组的最后一个元素

用python 创建元组并插入 python元组的创建_赋值_06


print(users[1:]) #打印users元组除了第一个元素的其他元素

用python 创建元组并插入 python元组的创建_赋值_07


print(users[:2]) #打印users元组索引值2之前的元素

用python 创建元组并插入 python元组的创建_赋值_08


print(users[::-1]) #倒序输出users元组内的元素

用python 创建元组并插入 python元组的创建_赋值_09

2.2 重复
print(users * 3)  #打印三次users元组中的元素

用python 创建元组并插入 python元组的创建_元组_10

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

用python 创建元组并插入 python元组的创建_用python 创建元组并插入_11

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

用python 创建元组并插入 python元组的创建_元组_12

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元组,打印每个元素

用python 创建元组并插入 python元组的创建_数据类型_13


枚举users元组的每个下标和元素,并且以一一对应的格式输出

用python 创建元组并插入 python元组的创建_元组_14


将users和passwd合并,遍历user和passwd元素,以user:passwd的形式打印出来

用python 创建元组并插入 python元组的创建_元组_15


用python 创建元组并插入 python元组的创建_用python 创建元组并插入_16


可以看到,‘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)

用python 创建元组并插入 python元组的创建_用python 创建元组并插入_17

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

用python 创建元组并插入 python元组的创建_元组_18