知行编程网知行编程网  2022-12-16 06:30 知行编程网 隐藏边栏  1 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python中序列的属性实现的相关知识,希望可以帮到处于编程学习途中的小伙伴


python中序列的属性实现

在了解一个事物的时候,我们会选择从它的属性入手,因为属性与它的用途息息相关。可以说,了解了事物的属性之后,我们就基本知道使用方法了。今天,小编为大家带来的是序列的属性。除了熟悉的和最小的,还有sum和length是我们需要掌握的。我们来看看sequence属性的具体内容。



序列值:

max



序列最小值:

min



序列的和:

sum



序列长度:

len

基本用法:将序列传给这四个函数,得到相应的属性。

import random
random.seed(21)
seq = [random.randint(0, 100) for i in range(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

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

import random
random.seed(21)
num = max(random.randint(0, 100) for i in range(10))
print(num)
# 88



可传入

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

def foo(x):
   return 1. / x
max(seq, key = foo)
# 21



对于我们的自定义类型,必须实现特殊的方法来执行

len 等操作。


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

class foo:
   def __init__(self, num, seq):
       self.num = num
       self.seq = seq
 
   def __len__(self):
       return len(self.seq)
 
   def __eq__(self, other):
       return self.num == other.num
 
   def __lt__(self, other):
       return self.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序列属性有点像我们数学中的函数求值的理解,因为本篇的属性代码需要结合函数一起使用,所以会有相像的地方。具体的步骤都在上方,小伙伴们可以跟着小编的思路进行学习。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享