您好,登錄后才能下訂單哦!
小編給大家分享一下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中序列的屬性怎樣實現”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。