Python标准数据类型-元组

元组

  • Python 的元组与列表类似,不同之处在于元组的元素不能修改。
  • 元组中的元素类似于列表,可以是不同的类型。

元组的定义

()定义

  • 使用圆括号定义,元素之间用逗号隔开。
  • 元组定义如果只有一个元素,需要在元素后面加逗号。
  • 也可以没有()
tp1 = (1,)				# 元组中一个元素
tp1 = (1,2,[1,2,3])
tp1 = ()				# 空元组
tp1 =(1)				# tp1是int型,和没加()效果一样
tp1 =1,2,3				# 和(1,2,3)效果一样

tuple定义

  • tuple()定义空元组。
  • tuple(iterable=())将可迭代的对象转换为元组。

元组的访问

  • 同列表的访问方法,索引和切片方式访问。
  • 元组中的元素无法改变。
tp1 = (1,2,3); tp[1]=5				# 报错
list1=[1,2,3]; list1=[5]			# 合法
tp1 = (1,2,3,4,5); pritn(tp[:4])	# (1, 2, 3, 4)		

修改的元组

元组拼接组合

  • 对元组进行连接组合,使用+
tp1=(1,2,3); tp2=(4,5,6); tp1 + tp2

元组删除

  • 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组

元组相关方法和系统函数

方法描述举例
tuple.count返回某个元素的数目tp1=(1,2,3,4,2); tp1.count(2) => 2
tuple.index(value, start, stop)返回元素所在的index
len(tuple)返回tuple的元素数目tp1=(1,2,3,4,2); len(tp1) => 5
min(tuple),max(tuple)返回tuple中的最大最小值
sum(tuple)元组中元素的和a=(1,2,3); sum(a) => 6
sorted(tuple)元组排序, 返回列表

元组运算符

方法描述举例
+并上另一个元组(1,2,3)+(4,5,6) => (1, 2, 3, 4, 5, 6)
*复制元组元素添加至原元组后面(3,)*5 => (3,3,3,3,3)
in, not in判断一个元素是否在元组中3 in(1,3) =>True
is is not判断两个元组是否引用同一块空间a=(1,), b=(2,), a is not b => False

元组的应用

打包和解包

  • 把多个用逗号分隔的值赋给一个变量时,多个值会打包成一个元组类型。
  • 把一个元组赋值给多个变量时,元组会解包成多个值然后分别赋给对应的变量。
  • 如果在解包时,元素的个数和变量的个数不一致,就引起错误。
tp1 = "dog", "cat", "duck", "chick"
result:
('dog', 'cat', 'duck', 'chick')
a, b, c, d = tp1; print(a,b,c,d)
result:
dog cat duck chick
a, b = tp1
result:ValueError
  • 解决变量少于元组个数这个错误的方法是使用*,*变量可以接收多个值,就将多个元素变成了一个列表,这个通配符只能出现一次。
  • *y = 1,2,3,拿着一些散列的元素,就会把散列元素装到列表里面。
  • 非赋值时,已经装好的包前面加*,系统就会拆包成散列。
tp1 = "dog", "cat", "duck", "chick"; a, *b = tp1
print(a, b)
print(a,*b)
result:
dog ['cat', 'duck', 'chick']
dog cat duck chick

在这里插入图片描述
在这里插入图片描述

交换两个变量的值

  • a, b, c = b, c, a

函数返回多个值

  • 如果return语句中有两个值,这两个值会组装成一个二元组然后返回。
  • 调用定义的函数会得到这个二元组,也可以通过解包语法将二元组中的两个值分别赋给两个变量。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值