1、元组的创建
- 元组(tuple): 元组本身是不可变数据类型,没有增删改查。
- 元组内可以存储任意数据类型。
t = (1,2,3,True,'star')
print(t)
print(type(t))
运行结果:
(1, 2, 3, True, 'star')
<class 'tuple'>
t1 = ([1,2,3],4)
t1[0].append(4)
print(t1)
运行结果:
([1, 2, 3, 4], 4)
- 元组如果只有一个元素的时候,后面一定要加逗号,否则数据类型不确定
t2 = ('hello')
t3 = (1,)
t4 = ('hello',)
print(type(t2))
print(type(t3))
print(type(t4))
运行结果:
<class 'str'>
<class 'tuple'>
<class 'tuple'>
2、元组的特性
users = ('root','westos','redhat')
passwd = ('123','456','789')
print(users[0])
print(passwd[-1])
运行结果:
root
789
print(users[1:])
print(passwd[::-1])
print(users[:-1])
运行结果:
'westos', 'redhat')
('789', '456', '123')
('root', 'westos')
print(users * 3)
运行结果:
('root', 'westos', 'redhat', 'root', 'westos', 'redhat', 'root', 'westos', 'redhat')
print(users + ('linux','python'))
运行结果:
('root', 'westos', 'redhat', 'linux', 'python')
print('linux' in users)
print('redhat' in users)
运行结果:
False
True
for i in users:
print(i)
运行结果:
root
westos
redhat
for index,user in enumerate(users):
print(index+1,user)
运行结果:
1 root
2 westos
3 redhat
for user,password in zip (users,passwd):
print(user,':',password)
运行结果:
root : 123
westos : 456
redhat : 789
3、元组常用的方法
t = (1,2.3,True,'linux')
print(t.count('linux'))
print(t.index(1))
运行结果:
1
0
4、元组的应用场景
a = 1
b = 2
b,a = a, b
print(a)
print(b)
运行结果:
2
1
name = 'redhat'
age = 22
t = (name,age)
print('name: %s , age: %d' %(name,age))
print('name: %s , age: %d' %t)
运行结果:
name: redhat , age: 22
name: redhat , age: 22
t = ('westos',11,100)
name,age,score = t
print(name,age,score)
运行结果:
westos 11 100
score = (100,98,77,39,98)
scoreli = list(score)
scoreli.sort()
print(scoreli)
scores = sorted(score)
print(scores
运行结果:
[39, 77, 98, 98, 100]
[39, 77, 98, 98, 100]
score = (100,98,77,39,98)
scores = sorted(score)
minscore,*middlescore,maxscore = scores
print(minscore)
print(middlescore)
print(maxscore)
print('最终成绩为: %.2f' %(sum(middlescore) / len(middlescore)))
运行结果:
39
[77, 98, 98]
100
最终成绩为: 91.00