当前位置: 首页 > 图灵资讯 > 行业资讯> python中序列的属性实现

python中序列的属性实现

来源:图灵python
时间: 2024-10-09 18:26:34

在对一个事物进行了解的时候,我们会选择从它的属性入手,因为属性和其的用法有了密切的关联。可以说了解了事物的属性,我们基本上就差不多知道使用的方法了。今天小编为大家带来的是序列的属性,除了我们熟悉的和最小之外,还有和、长度需要我们掌握,下面一起看看序列属性的具体内容吧。

序列值:max

序列最小值:min

序列的和: sum

序列长度: len

基本用法:向这四个函数中传入序列,可以得到对应属性。

importrandom
random.seed(21)
seq=[random.randint(0,100)foriinrange(10)]
print(seq)
#[21,53,88,53,81,36,61,27,60,65]
print(max(seq))
#88
print(min(seq))
#21
print(sum(seq))
#545
print(len(seq))
#10

作为内置函数,可以直接传入生成器(不需要括号)作为参数:

importrandom
random.seed(21)
num=max(random.randint(0,100)foriinrange(10))
print(num)
#88

可传入 key 参数,作为比较大小的依据,相当于把序列中每一个元素 item 先传入函数 key 中,将函数返回的数值作为判断对象大小的依据。

deffoo(x):
return1./x
max(seq,key=foo)
#21

对于我们自定义的类型,必须实现特殊方法,才能进行 len 等操作。

len 代表:len 操作,eq 代表:= 操作,lt 代表 < 操作。

classfoo:
def__init__(self,num,seq):
self.num=num
self.seq=seq

def__len__(self):
returnlen(self.seq)

def__eq__(self,other):
returnself.num==other.num

def__lt__(self,other):
returnself.num<other.num

>>>f1=foo(18,[1,4,6])
>>>f2=foo(21,[1,7,9,10])
>>>f1<f2
True
>>>f1>f2
False
>>>f1==f2
False
>>>f3=foo(18,[9,9,0,7])
>>>f1==f3
True
>>>len(f1)
3
>>>len(f2)
4

今天的python序列属性有点像我们数学中的函数求值的理解,因为本篇的属性代码需要结合函数一起使用,所以会有相像的地方。具体的步骤都在上方,小伙伴们可以跟着小编的思路进行学习。