python的元组的基础知识与操作

36 篇文章 1 订阅

1.元组的创建

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

t=(1,2,3,True,'start')
print(t)
print(type(t))
运行结果:
(1, 2, 3, True, 'start')
<class 'tuple'>

元组中的包含可变数据类型,可以间接修改元组的内容

t1 = ([1,2,3],4)
t1[0].append(4)
t1[0].remove(1)
print(t1)
运行结果:([2, 3, 4], 4)

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

t1 = (1)
t2 = ('hello',)
t3 = (1,)
print(type(t1))
print(type(t2))
print(type(t3))
运行结果:
<class 'int'>
<class 'tuple'>
<class 'tuple'>

2.元组的特性

1)索引、切片:
users = ('root','westos','redhat')
passwd = ('123','123','234')
print(users[0])
print(users[2:])
print(users[::-1])
print(users[:-1])
运行结果:
root
('redhat',)
('redhat', 'westos', 'root')
('root', 'westos')
2)重复
users = ('root','westos','redhat')
print(users*3)
运行结果:('root', 'westos', 'redhat', 'root', 'westos', 'redhat', 'root', 'westos', 'redhat')
3)连接(如果只连接一个,也需要加,)
users = ('root','westos','redhat')
print(users+('as',))
运行结果:('root', 'westos', 'redhat', 'as')
4)for循环
users = ('root','westos','redhat')
for i in users:
    print(i)
运行结果:
root
westos
redhat
5)zip(两个元组之间元素可一一对应)
users = ('root','westos','redhat')
passwd=('123','23','234')
for i,j in zip(users,passwd):
    print(i,'--->',j)
运行结果:
root ---> 123
westos ---> 23
redhat ---> 234

3.元组的常用方法

t =(1,2.3,True,'westos','westos')
print(t.count('westos'))    记数
print(t.index(2.3)          索引
运行结果:
2
1

4.元组的应用场景

1)变量交换数值
a =1
b =2
b,a=a,b

print(a,b)
运行结果:2 1

2)打印变量的值
name = 'westos'
age = 11
print('%s的年龄为%d' %(name,age))
运行结果:westos的年龄为11

3)元组的赋值
t = ('west', 'east', 'hello')
a, b, c = t
print(a, b, c)
运行结果:west east hello

练习:求平均分(去掉最大、最小值)

score = (10, 30, 20, 40)
#scoreli = list(score)
#scoreli.sort()        这三句与scroce = sorted(score)命令效果相同
#print(scoreli)
score = sorted(score)
print(score)
minscore, *middlescore, maxscore = score
print(minscore)
print(middlescore)
print(maxscore)
print('最终成绩为:%.2f' % (sum(middlescore) / len(middlescore)))
运行结果:
[10, 20, 30, 40]
10
[20, 30]
40
最终成绩为:25.00

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值