python中序列的属性怎样实现

发布时间:2020-12-07 09:31:13 作者:小新
来源:亿速云 阅读:146

小编给大家分享一下python中序列的属性怎样实现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

序列最大值: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. python序列
  2. Python怎么筛选序列中的元素

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python 序列

上一篇:python中怎样分辨int和float的差别

下一篇:python中使用转义字符解决歧义的示例

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》