Python小白學習之路(十七)—【內建函式二】
序列操作類函式
all()
功能:判斷可迭代物件的每個元素是否都為True值注意:If the iterable is empty, return True.(舉例3)
回顧:None '' () {} [] 0 ==>False其餘 ==>True
舉例:
print(all([1, 2, ()])) #執行結果:False print(all([1, 2, 3])) #執行結果:True print(all([])) #執行結果:True
any()
功能:判斷可迭代物件的元素是否有為True值的元素注意:If the iterable is empty, return False.
舉例: print(any([None, 1, 2])) #執行結果:True print(any([0, None, ()])) #執行結果:False print(any([])) #執行結果:False
filter()
具體用法在之間筆記本有詳細介紹
功能:通過相關的方法過濾可迭代物件的元素
注意:filter()函式接收一個函式 f 和一個list這個函式 f 的作用是對每個元素進行判斷,返回 True或 Falsefilter()根據判斷結果自動過濾掉不符合條件的元素,返回由符合條件元素組成的新list。(即函式處理結果為 True 的保留,為 False 的過濾
map()
具體用法在之間筆記本有詳細介紹
功能:通過相關的方法去作用傳入的每個可迭代物件的元素,生成新的可迭代物件
注意:有兩個引數,第一個是接收一個函式 f(匿名函式或者自定義函式都OK啦);第二個引數是一個 可迭代物件功能是通過把函式 f 依次作用在 第二個引數 的每個元素上,得到一個新的 list 並返回。(新的 list 元素的個數與位置與舊的 list 一致)實質就是內部 for 迴圈,遍歷迭代物件的每一個元素
next()
next(iterator[, default])功能:Return the next item from the iterator. If default is given and the iterator is exhausted, it is returned instead of raising StopIteration.
舉例: a = iter('123') print(next(a), next(a), next(a)) #執行結果:1 2 3 print(next(a), next(a), next(a), next(a)) # 執行結果:StopIteration(報錯) print(next(a, '*'), next(a, '*'), next(a, '*'), next(a, '*')) #執行結果:1 2 3 *
reversed()
功能:將目標可迭代物件元素進行反轉,生成新的可迭代物件
舉例: a = [1, 2, 3, 4] print(list(reversed(a))) print(a) #執行結果 [4, 3, 2, 1] [1, 2, 3, 4] #列表 a 本身並沒有發生變化,只是 a 轉序生成一個新的序列
sorted()
功能:以升序返回包含iterable中所有項的新列表。可以提供自定義鍵功能來自定義排序順序,以及可以設定反向標誌以按降序獲得求結果。預設按照ASCII來進行升序排列
舉例: a = ['a','f','D','b','m','A'] print(sorted(a)) print(sorted(a, key = str.upper)) print(list(reversed(sorted(a)))) #實現目標序列降序排列 # #執行結果: ['A', 'D', 'a', 'b', 'f', 'm'] ['a', 'A', 'b', 'D', 'f', 'm'] ['m', 'f', 'b', 'a', 'D', 'A']
zip()
功能:將傳入的每個迭代器中相同位置的元素進行一一匹配,返回一個新的元組型別迭代器
舉例: print(list(zip(['a','b','c','d','e'], [1, 2, 3, 4, 5], ['A','B','C','D','E']))) #執行結果 [('a', 1, 'A'), ('b', 2, 'B'), ('c', 3, 'C'), ('d', 4, 'D'), ('e', 5, 'E')] print(list(zip(['a','b','c'], [1, 2, 3, 4], ['A','B','C','D','E'])) #按照元素最少的來進行匹配 #執行結果 [('a', 1, 'A'), ('b', 2, 'B'), ('c', 3, 'C')]