python–元组tuple

时间:2021-6-12 作者:qvyue

元组tuple是python基本的数据结构,是不可变序列,允许有重复元素。

环境

  • win10 64bit
  • python 3.9

创建

元组的创建可以通过内置的tuple类创建,也可以用小括号()创建,元组中的元素可以是任意数据类型,可嵌套元组。
元组与列表很相似,主要的区别是元组一旦创建,其元素不可更改。

tuple

通过tuple类创建元组实例,传入的参数必须是可迭代对象。常见的数据类型tuple,list,set,dict,str等都是可迭代对象。

# 列表创建元组
tuple([1,2,3])
(1, 2, 3)
# 集合创建元组
tuple({1,2,3})
(1, 2, 3)

通过字典创建元组时,只有字典的key会转为元组。

# 字典创建元组
tuple({'a':1,'b':2})
('a', 'b')
# 字符串创建元组
tuple('abc')
('a', 'b', 'c')
# 空元组
tuple()
()

空元组取布尔值,返回False

bool(tuple())
False

()

用小括号()包裹对象,并用,分割,可创建元组。

# ()创建元组
(1,2,'a',True)
(1, 2, 'a', True)
# 嵌套元组
(1,2,(3,4,('a',True)))
(1, 2, (3, 4, ('a', True)))
# 空元组
()
()

计数

count

count方法计算元组中某一个元素出现的次数。

# 元组元素计数
(1,2,1).count(1)
2

len

__len__()方法计算元组的总长度。

(1,2,1).__len__()
3

查询

[]

通过方括号[]查询元组中的元素,可传入整数或切片进行查询。

t=('a','b','c','d','e')
# 整数查询单个元素
t[0]
'a'
# 切片查询多个元素
t[1:3]
('b', 'c')
# 切片反向查询多个元素
t[-3:]
('c', 'd', 'e')

index

index方法查询元素第一次出现的索引位置。可设置查找的起止范围。

t=['b','a','b','c']
# 查询元素第一次出现的索引位置
t.index('b')
0
# 查询元素第一次出现的索引位置(指定索引1到4查找)
t.index('b',1,3)
2

删除

元组内的元素不可修改,也就不可删除,只能用关键字del删除整个元组。

t=(1,2)
del t

重复

乘号*用于重复多个元组。

t=(1,2,3)
t*3
(1, 2, 3, 1, 2, 3, 1, 2, 3)

合并

符号+可以合并元组。

# 合并元组
t1=(1,2,3)
t2=(4,5,6)
t1+t2

结合reduce函数,可以批量合并多个元组。

# 批量合并多个列表
from functools import reduce
t=((1,2),(3,4),(5,6))
tuple(reduce(lambda x,y:x+y,t))
(1, 2, 3, 4, 5, 6)
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。