Python中的元组简介

  • 元组(tuple): 元组本身是不可变数据类型,没有增删改查
  • 元组内可以存储任意数据类型

1.元组的创建

(1)创建

 t = (1,2.3,True,'star')
 print(t)
 print(type(t))
 测试结果:
 (1,2.3,True,'star')
 <class 'tuple'>

(2)元组里面包含可变数据类型,可以间接修改元组内容

 t1 = ([1,2,3],4)
 t1[0].append(4)
 print(t1)
 测试结果:
 ([1,2,3,4],4)

(3)元组里如果只有一个元素的时候,后面要加逗号,否则数据类型不确定

t2 = ('hello')
print(type(t2))
t3 = ('hello',)
print(type(t3))
测试结果:
<class 'str'>
<class 'tuple'>

2.元组的特性

allowusers = (‘root’,‘westos’,‘redhat’)
allowpasswd = (‘123’,‘456’,‘789’)
(1)索引 切片

 print(allowusers[0])
 print(allowusers[-1])
 print(allowusers[1:])
 print(allowusers[:-1])
 print(allowusers[::-1])
 测试结果:
 root
 redhat
 ('westos', 'redhat')
 ('root', 'westos')
 ('redhat', 'westos', 'root')

(2)重复

 print(allowusers * 3)
 测试结果:
 ('root','westos','redhat', 'root','westos','redhat', 'root','westos','redhat')

(3)连接

 print(allowusers + ('linux','python'))
测试结果:
('root','westos','redhat', 'linux', 'python')

(4)成员操作符

 print('westos' in allowusers)
 print('westos' not in allowusers)
测试结果:
True
False

(5)for循环
1>

 for user in allowusers:
     print(user)
测试结果:
root
westos
redhat

2>

 for index,user in enumerate(allowusers):
     print('第%d个白名单用户: %s' %(index+1,user))
测试结果:
第1个白名单用户:root
第2个白名单用户:westos
第3个白名单用户:redhat

3>zip 两个元组之间的元素一一对应

for user,passwd in zip(allowusers,allowpasswd):
    print(user,':',passwd)
 测试结果:
 root : 123
 westos : 456
 redhat : 789

3.元组的常用方法
(1)出现的次数
(2)索引

t = (1,2.3,True,'linux')
print(t.count('linux'))
print(t.index(1))
测试结果:
1
0

4.元组的应用场景

(1)元组的赋值,有多少个元素,就用多少个变量接收

 t = ('westos',11,100)
 name,age,score = t
 print(name,age,score)
测试结果:
westos 11 100

(2)元组排序
1>类型转换为列表用.sort()方法排序

scores = (100,89,45,78,65)
scoresLi = list(scores)
 scoresLi.sort()
 print(scoresLi)
 测试结果:
 [45, 65, 78, 89, 100]

2>sorted()直接排序

 scores = (100,89,45,78,65)
 scores = sorted(scores)
 print(scores)
 测试结果:
 [45, 65, 78, 89, 100]

(3)去掉一个最高分,去掉一个最低分,求平均值

scores = (100,89,45,78,65)
scores = sorted(scores)
minscore,*middlescore,maxscore = scores
print(minscore)
print(middlescore)
print(maxscore)
print('最终成绩为:%.2f' %(sum(middlescore) / len(middlescore))
测试结果:
45
[65, 78, 89]
100
最终成绩为:77.33

猜你喜欢

转载自blog.csdn.net/qq_44224894/article/details/88768936
今日推荐