Python中tuple的功能介绍,pythontuple, Tuple的功能介


Tuple的功能介绍

1. 元组的两种方法

1. 元组的内置方法

两个元组的相加

格式:x.__add__(y)等同于x+y例如:tu1 = (1,2,3,)     print(tu1.__add__((2,3,4,))) >>> (1, 2, 3, 2, 3, 4)返回值:tuple#只能是两个元组相加,生成一个新元组

判断是否是包含关系

格式:x.__contains__(y)等同于y in x例如:tu1 = (1,2,3,)     print(tu1.__contains__(3)) >>> True返回值:bool#上述的y可以是任意对象object

判断两个元组是否相等

格式:x.__eq__(y)等同于x==y例如:tu1 = (1,2,3,)     print(tu1.__eq__((2,3,))) >>> False返回值:bool#上述的y只能是元组

大于等于

格式:x.__ge__(y)等同于x>=y例如:tu1 = (1,2,3,)     print(tu1.__ge__((2,3,))) >>> False返回值:bool#上述的y只能是元组

注:两个元组判断大小主要依据为元组的第一个元素的大小。

访问属性

格式:x.__getattribute__(self,name)返回值:str

取出指定索引的值

格式:x.__getitem__(index)等同于tuple[index]例如:tu1 = (1,2,3,)     print(tu1.__getitem___(2)) >>> 3返回值:object

元组元素化

格式:x.__getnewargs__()例如:tu1 = (1,2,3,)     print(tu1.__getnewargs__()) >>> ((1,2,3,),)返回值:tuple#把原元组作为一个新元组的一个元素

大于

格式:x.__gt__(y)等同于x>y例如:tu1 = (1,2,3,)     print(tu1.__gt__((2,3,))) >>> False返回值:bool#上述的y只能是元组

注:两个元组判断大小主要依据为元组的第一个元素的大小。

哈希化

格式:x.__hash__()等同于hash(x)例如:tu1 = (1,2,3,)     print(tu1.__hash__()) >>> 2528502973977326415返回值:int

迭代器

格式:x.__iter__()等同于iter(x)例如:tu1 = (1,2,3,)     die = tu1.__iter__()     print(die.__next__()) >>> 1返回值:迭代器

小于等于

格式:x.__le__(y)等同于x<=y例如:tu1 = (1,2,3,)     print(tu1.__le__((2,3,))) >>> True返回值:bool#上述的y只能是元组

注:两个元组判断大小主要依据为元组的第一个元素的大小。

长度

格式:x.__len__()等同于len(x)例如:tu1 = (1,2,3,)     print(tu1.__len__()) >>> 3返回值:int

小于

格式:x.__lt__(y)等同于x<y例如:tu1 = (1,2,3,)     print(tu1.__lt__((2,3,))) >>> True返回值:bool#上述的y只能是元组

注:两个元组判断大小主要依据为元组的第一个元素的大小。

相乘(复制)

格式:x.__mul__(num)等同于x*num例如:tu1 = (1,2,3,)     print(tu1.__mul__(2)) >>> (1,2,3,1,2,3)返回值:tuple
不等于 格式:x.ne(y)等同于x!=y 例如:tu1 = (1,2,3,) print(tu1.ne((2,3,))) >>> True 返回值:bool #上述的y只能是元组

创建新元组

格式:x.__new__(tuple)例如:tu1 = (1,2,3,)     print(tu1.__new__(tuple)) >>> ()返回值:tuple

内置转换方法

格式:x.__repr__(self)返回值:tuple

右→左 相乘(复制)

格式:x.__rmul__(num)等同于num*x例如:tu1 = (1,2,3,)     print(tu1.__rmul__(2)) >>> (1,2,3,1,2,3)返回值:tuple

2. 常用方法

计数

格式:x.count(value)例如:tu1 = (1,2,3,1,2,3,)     print(tu1.count(2)) >>> 2返回值:int

索引

格式:x.index(value,start,end)例如:tu1 = (1,2,3,1,2,3,)     print(tu1.index(2,1,4)) >>> 1返回值:int#不指定范围时,默认全元组搜索

2. 元组操作

1. 元组的基础操作

加法

符号: +格式:tuple1 + tuple2例如:tu1 = (1,2,3,)     tu2 = (‘a‘,‘b‘,)     print(tu1+tu2) >>> (1,2,3,‘a‘,‘b‘)返回值:tuple

乘法(复制)

符号: *格式:tuple1 * num返回值:tuple

索引

符号: [index]格式:tuple[index]返回值:object

切片

符号: [::]格式:tuple[index1:index2:num]返回值:tuple

成员检测

符号: in格式: object in tuple返回值:bool

2. 元组的序列操作

长度

格式:len(tuple)返回值:int

最大值

格式:max(tuple)返回值:int

注:该函数只能用于纯数字的元组。

最小值

格式:min(tuple)返回值:int

注:该函数只能用于纯数字的元组。

转换为元组

格式:tuple(序列)返回值:tuple     

3. 元组的遍历

使用for...in 遍历元组

格式:for variable in tuple:         使用variable例如:tu1 = (1,2,3,)     for i in tu1:         print(i) >>> 1 >>> 2 >>> 3

使用while循环遍历元组

格式:variable = 0     while variable <len(tuple):         使用元组的元素(tuple[variable])         variable += 1例如:tu1 = (1,2,3,)     i = 0     while i < len(tu1):         print(tu1[i])         i += 1  >>> 1  >>> 2  >>> 3

二级元组的遍历

1. 格式:for variable1 in tuple:            for variable2 in variable1:                使用variable   例如:tu1 = ((1,2,3,),(4,5,6,),(7,8,9,),)         for i in tu1:            for j in i:                print(j)   #输出的结果j就是元组中小元组中的元素2. 格式:for varialbe1,variable2,... in tuple:            直接使用variable1,variable2,...   例如:tu1 = ((1,2,3,),(4,5,6,),(7,8,9,),)         for n1,n2,n3 in tu1:            print(n1)    >>> 1    >>> 4    >>> 7

注:方法2只能遍历同等长度的二级元组,由于元组和列表可以相互转换,因此上述遍历的元组中可以混合列表使用。

4. 元组的推导式

简单的元组推导式

格式:(variable for variable in tuple)例如:tu1 = (1,2,3,4,5,)     die = (i for i in tu1)     print(die.__next__()) >>> 1返回值:迭代器#把原元组遍历完后生成一个迭代器
稍作修改的元组推导式 格式:(variable * 8 for variable in tuple) 例如:tu1 = (1,2,3,4,5,) die = (i*8 for i in tu1) print(die.next()) >>> 8 #对变量进行修改,可以是int和str类型,具体需根据元组元素的类型来选择不同的类型。

带判断条件的元组推导式

格式:(variable for variable in tuple if 条件表达式)例如:tu1 = (‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,)     die = (i*2 for i in tu1 if tu1.index(i) < 3)     print(die.__next__()) >>> ‘aa‘返回值:迭代器 

多个元组推导式

格式:(varialbe1*variable2 for variable1 in tuple1 for variable2 in tuple2)例如:tu1 = (2,1,3,)     tu2 = (‘a‘,‘b‘,‘c‘,‘d‘)     die = (i*j for i in tu1 for j in tu2)     print(die.__next__()) >>> ‘aa‘返回值:迭代器

带判断条件的多个元组推导式

格式:(variable1*variable2 for variable1 in tuple1 for variable2 in tuple2 if 条件表达式)例如:tu1 = (3,1,2)     tu2 = (‘a‘,‘b‘,‘c‘,‘d‘)     die = (i*j for i in tu1 for j in tu2 if tu1.index(i)==tu2.index(j))     print(die.__next__()) >>> ‘aaa‘返回值:迭代器

注:由于元组和列表可以相互转换,因此上述推导式的元组中的元组可以混合列表使用,与列表推导式不同的就是返回值。列表推导式返回值为列表,元组推导式返回值为迭代器。

Python中tuple的功能介绍

评论关闭