Python中的元组

2023-12-13 04:50:21

一、元组的创建

可以用多种方式构建元组,主要有以下四种,每个都会有相应的案例:

使用一对圆括号来表示空元组: ()

使用一个后缀的逗号来表示单元组: a, 或 (a,)

使用以逗号分隔的多个项: a, b, c or (a, b, c)

使用内置的 tuple(): tuple() 或 tuple(iterable)

'''1、使用一对圆括号来表示空元组: ()'''num_tuple=(1,2,3)'''2、使用一个后缀的逗号来表示单元组: a, 或 (a,)'''a='a',a('a',)type(a)tuple'''3、使用以逗号分隔的多个项: a, b, c or (a, b, c)'''t=1,2,3t(1,2,3)type(t)tuplet=1,2,3,#结尾多一个逗号也没事,一样的效果'''4、使用内置的 tuple(): tuple() 或 tuple(iterable)'''t=(1,2,3)t=tuple([1,2

注意: 使用元组的时候,如果只有一个元素记得加上一个逗号,不然就是一条赋值语句。

#表达式 一个赋值语句t=(1)#用type查看下类型,是整数类型,并不是tuple类型type(t)intt=(1,)#加逗号元组

二、元组的方法

由于元组并不能够像列表一样修改,因此元组并没有特别多的方法,就两个方法,count和index。

print(dir(tuple))['__add__','__class__','__contains__','__delattr__','__dir__','__doc__','__eq__','__format__','__ge__','__getattribute__','__getitem__','__getnewargs__','__gt__','__hash__','__init__','__init_subclass__','__iter__','__le__','__len__','__lt__','__mul__','__ne__','__new__','__reduce__','__reduce_ex__','__repr__','__rmul__','__setattr__','__sizeof__','__str__','__subclasshook__','count','index']

1index

作用:tuple的index方法:获取指定元素的下标(就近原则,从左往右,找到第一个就结束)

用法:index(self, value, start=None, stop=None)

参数:

  • value-待查询下标的元素
  • start-查询起始下标
  • stop-查询终止下标(查询到stop前一个下标)

t=('s','a','a','r',5)
t.index('r')
3
t.index(5)
4
# index方法:根据元素找到其位置
t = (1, 2, 3, 1, 2)
t.index(1, 2)? # 寻找第2个元素1的位置

2count

作用:获取指定元素在元组中出现的次数

用法:count(self, value)

参数:value-待查询出现次数的元素

t.count('a')
2
t.count(5)
1

3、其他操作

先生成两个元组备用

s1=(1,2,3)
s2=('a','b','c')

1)拼接生成新元组

'''拼接生成新元组'''
s1+s2
(1, 2, 3, 'a', 'b', 'c')
?
s1.__add__(s2)
(1, 2, 3, 'a', 'b', 'c')

2)是否包含

'''是否包含'''
2 in s1
True

s1.__contains__('a')
False

s2.__contains__('a')
Tru

3)获取元素

'''获取元素'''
s1[0]
1
s2.__getitem__(0)
'a'

4)获取长度

'''获取长度 '''
len(s1)
3
s1.__len__()
3

5)重复拼接

'''重复拼接'''
s1*3
(1, 2, 3, 1, 2, 3, 1, 2, 3)

6)删除元组

元祖中的元素值不可以修改和删除,但是我们可以使用 del 关键字删除整个元组。

t= ("a", "b", "c")
del t
t
name 't' is not defined

7)最大最小值

t= (10, 22, 0, 15, 40)
max(t)
40
min(t)
0

文章来源:https://blog.csdn.net/m0_54110321/article/details/134961052
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。