标签:迭代器 space ons attribute bottom 功能 value round 加法
两个元组的相加
格式: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.__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
计数
格式: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
#不指定范围时,默认全元组搜索
加法
符号: +
格式: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
长度
格式:len(tuple)
返回值:int
最大值
格式:max(tuple)
返回值:int
注:该函数只能用于纯数字的元组。
最小值
格式:min(tuple)
返回值:int
注:该函数只能用于纯数字的元组。
转换为元组
格式:tuple(序列)
返回值:tuple
使用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只能遍历同等长度的二级元组,由于元组和列表可以相互转换,因此上述遍历的元组中可以混合列表使用。
简单的元组推导式
格式:(variable for variable in tuple)
例如:tu1 = (1,2,3,4,5,)
die = (i for i in tu1)
print(die.__next__())
>>> 1
返回值:迭代器
#把原元组遍历完后生成一个迭代器
带判断条件的元组推导式
格式:(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‘
返回值:迭代器
注:由于元组和列表可以相互转换,因此上述推导式的元组中的元组可以混合列表使用,与列表推导式不同的就是返回值。列表推导式返回值为列表,元组推导式返回值为迭代器。
标签:迭代器 space ons attribute bottom 功能 value round 加法
原文地址:http://www.cnblogs.com/single-boy/p/7353105.html