python_元组

27 篇文章 0 订阅

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'))  ##linux 元素在元组中的个数
print(t.index(1))  ## 1 的索引
运行结果:
1
0

4、元组的应用场景

  • 变量交换数值
a = 1
b = 2
b,a = a, b   ##先把(a,b)封装成一个元组(1,2) b,a--->(1,2); b = (1,2)[0] a = (1,2)[1]
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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值