Python入门之元组(tuple)详解

1 元组的基本定义与创建

1.1 元组的定义:

元组与列表类似,均可以存储任意的数据类型。但是元组中的元素,不可以任意做更改,没有增删改

1.2 元组的创建:

在( )中输入任意类型的元素,每个元素之间以,隔开

t = (1,2.3,True,'star')
print(t)
print(type(t))

结果:
(1, 2.3, True, 'star')
<class 'tuple'>

当元组内仅有一个元素时,必须以,隔开,否则元组的类型不确定

t1 = ('hello')
t2 = ('hello',)
t3 = ('1',)
print(type(t1))
print(type(t2))
print(type(t3))

结果:
<class 'str'>
<class 'tuple'>
<class 'tuple'>

1.3 元组内元素的更改:

元组内的元素不可以做更改,但是当元组内包含可变的数据类型时,可以通过改变可变的数据类型来间接对元组进行更改

t1 = ([1,2,3],4)
t1[0].append(4)
print(t1)

结果:
([1, 2, 3, 4], 4)

1.4 空元组的创建:

空元组创建:tup = ()

>>> tup = ()
>>> type(tup)
<class 'tuple'>

2 元组的特性

2.1 元组的索引与切片:

users = ('root','westos','redhat')
passwds = ('123','456','789')

#索引 切片
print(users[0])
print(users[-1])
print(users[1:])
print(users[:-1])
print(users[::-1])

输出结果:
root
redhat
('westos', 'redhat')
('root', 'westos')
('redhat', 'westos', 'root')

2.2 元组的重复:

# 重复
print(users * 3)
输出结果:
('root', 'westos', 'redhat', 'root', 'westos', 'redhat', 'root', 'westos', 'redhat')

2.3 元组的连接:

#连接
print(passwds + ('012','230'))

输出结果:
('123', '456', '789', '012', '230')

2.4 成员操作符:

#成员操作符
print('redhat' in users)
print('redhat' not in users)

#迭代
for user in users:
    print(user)

for index,user in enumerate(users):
    print('第%d个用户: %s' %(index+1,user))

for user,passwd in zip(users,passwds):
    print(user,':',passwd)

输出结果:
True
False
root
westos
redhat
第1个用户: root
第2个用户: westos
第3个用户: redhat
root : 123
westos : 456
redhat : 789

3 元组的常用方法

count() ## 统计指定的元素在元组中出现的次数
index() ##表示指定元素的最小索引值
min() # 找出元组中的最小数
max() #找出元组中的最大数
sum() # 对元组中的元素求和

t = ('westos',1,2.1,'redhat','westos')
print(t.count('westos'))
print(t.index('westos'))
print(t.index(2.1))

输出结果:
2  ##元素'westos'在元组中出现2次
0  ##出现元素'westos'的最小索引为t[0]
2  ##出现元素2.1的最小索引为t[2]

t = (2,5,9.5,8.4)
print(min(t))
print(max(t))
print(sum(t))

输出结果:
2
9.5
24.9

4 元组的应用场景

1.变量交换数值

a = 1
b = 2
b,a = a,b
#1.先把(a,b)封装成一个元组(1,2)
#2.b,a=a,b ---> b,a=(1,2)
#b = (1,2)[0] a = (1,2)[1]
print(a)
print(b)

结果:
2
1

2.打印变量

name = 'luck'
age = 17
t = (name,age)
print('%s的年龄是%d' %(name,age))
print('%s的年龄是%d' %(t))

输出结果:
luck的年龄是17
luck的年龄是17

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

t = ('westos',11,100)
name,age,score = t
print(name,age,score)

结果:
westos 11 100

scores = (100,89,45,78,65)
#转换成列表后应用sort()进行排序
scoresLi = list(scores)
scoresLi.sort()
print(scoresLi)

结果:
[45, 65, 78, 89, 100]

scores = (100,89,45,78,65)
#sorted函数可直接对元组排序
scores = sorted(scores)
print(scores) 

结果:
[45, 65, 78, 89, 100]

scores = (100,89,78,65,59)
maxscore,*middlescore,minscore = scores
print(maxscore)
print(middlescore)
print(minscore)

结果:
100
[89, 78,65]
59
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值