python元组

元组(定值表)

  • 用来存储固定不变的值表
  • 有序序列

创建元组的方式

字面量的方式
# 1
(x1,x2,...)

# 2 
x1,x2,...


t1 = (1,2,3,4,5)
print(t1)
t1 = (1,2,3,4,5)

t2 = 1,2,3,4,5
print(t2)
(1, 2, 3, 4, 5)

# 空元组
t3 = () 

#
t4 = 1,  # 在只有一个元素的情况下,末尾的逗号不可以省略
t4 = (1,)


>>> t2 = (1,2,'a')  # 元组中元素类型可以不一样
>>> t2
(1, 2, 'a')  
对象
>>> t1 = tuple([1,2,3,4]) # tuple只能接受一个参数
>>> t1
(1, 2, 3, 4)

>>> t2 = tuple('abcde')
>>> t2
('a', 'b', 'c', 'd', 'e')

>>> t9 = tuple(range(4)) # 推导式:用于生成特定值
>>> t9
(0, 1, 2, 3)

>>> t3 = tuple([2*x for x in range(1,5)])
>>> t3
(2, 4, 6, 8)

# 元组的嵌套
>>> t = tuple('abc')  
>>> t1 = t,(1,2,3)
>>> t1
(('a', 'b', 'c'), (1, 2, 3)) # 二维元组
>>> t1[1][2] = 10
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    t1[1][2] = 10
TypeError: 'tuple' object does not support item assignment
    
# 元组本身不能改变,但是里面的值可能发生改变
>>> t = tuple('abc')
>>> t1 = t,[1,2,3]
>>> t1
(('a', 'b', 'c'), [1, 2, 3])
>>> t1[1][2] = 10
>>> t1
(('a', 'b', 'c'), [1, 2, 10])

元组的操作

索引访问、切片操作、连接操作、重复操作、成员关系操作、比较运算操作、

索引访问
>>> t1 = (1,2,3)
>>> t1[2]
3
>>> for x in t1:
	print(x,end=' ')

	
1 2 3 
>>> len(t1)
3
>>> sum(t1)
6
>>> max(t1)
3
>>> min(t1)
1
>>> t1[1:3]
(2, 3)
>>> t1[::]
(1, 2, 3) 
>>> t1[1:]
(2, 3)

>>> t2 = (2,3,4)
>>> t1
(1, 2, 3)
>>> t2
(2, 3, 4)
>>> t1+t2
(1, 2, 3, 2, 3, 4)
>>> t1*2
(1, 2, 3, 1, 2, 3)
>>> t1 += t2
>>> t1
(1, 2, 3, 2, 3, 4)


>>> for x in 3,4,6.7:  # 为循环提供无规律的输出
	print(x)

	
3
4
6.7
排序操作
>>> t1 = (4,2,3,1)
>>> sorted(t1)
[1, 2, 3, 4]  # 返回的是列表
any,all
>>> any((1,2,3))
True
>>> any((1,2,0))
True
>>> all((1,2,0))
False
拆分:可变参数
  • : 可变参数
>>> first,*middle,last = (1,2,3,4,5,6,7,8,9)
>>> first
1
>>> middle
[2, 3, 4, 5, 6, 7, 8]
>>> last
9
打分
>>> first,*middle,last = sorted((9,8,7,10,6,7))
>>> sum(middle)/len(middle)
7.75
>>> middle
[7, 7, 8, 9]
临时变量:_
>>> _,b,_ = (3,5,2)
>>> b
5
>>> _
2
例子
>>> record = ('admin','admin@163.com','0411-12345678','123123123')
>>> name,_,*phones = record
>>> name
'admin'
>>> _ # 没有用的用临时变量表示
'admin@163.com'
>>> phones
['0411-12345678', '123123123']
列表与元组相互转换
>>> t1 = 1,2,3,4,5
>>> t1
(1, 2, 3, 4, 5)
>>> list1 = list(t1)
>>> list1
[1, 2, 3, 4, 5]
>>> list2 = ['a','b','c']
>>> t2 = tuple(list2)
>>> t2
('a', 'b', 'c')
练习:输入一个数字,转换成中文数字
t1 = ('一','二','三','四','五','六','七','八','九','零')
s = input('请输入一个阿拉伯数字:')
for i in s:
    print(t1[int(i)-1],end='')
4个学生,10个选择题
  • 标准答案:不能改变,存在元组里面
  • 学生的答案:存于二维列表中
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值