高階函數(函數使用方法更新于內置函數)

讀代碼:
from functools import reduce導入reduce函數
def fn(x, y):
... return x * 10 + y
...
def char2num(s):
... return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]
其中s是索引號,必須是數字類型
...
reduce(fn, map(char2num, '13579'))
'13579'是字符串類型,這里可以替換為list、tuple等可迭代對象,當使用map函數時,一個個取用出的是數字類型
13579

def not_empty(s):
return s and s.strip() and是與從句,即當s與s.strip()相等時才會為True
list(filter(not_empty, ['A', '', 'B', None, 'C', ' ']))
['A', 'B', 'C']

def _odd_iter():
n = 1
while True:
n = n + 2
yield n
以上函數構造一個無窮的從3開始的奇數數列
def _not_divisible(n):
return lambda x: x % n > 0
構造一個篩選的數列
def primes():
yield 2 儲存特殊的素數2
it = _odd_iter() 初始序列
while True:
n = next(it) 返回序列的第一個數
yield n
it = filter(_not_divisible(n), it) 構造新序列,此時的it中沒有前面儲存的n,因為已經被next()取用

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • PYTHON-進階-ITERTOOLS模塊小結轉自wklken:http://wklken.me/posts/20...
    C_Y_閱讀 1,047評論 0 2
  • 基礎1.r''表示''內部的字符串默認不轉義2.'''...'''表示多行內容3. 布爾值:True、False(...
    neo已經被使用閱讀 1,732評論 0 5
  • 在前端樣式屬性中,我們經常會使用line-height這個屬性,在剛開始學習css的時候,很多人經常會直接把lin...
    W北落師門W閱讀 3,796評論 1 1
  • 你想把筆打轉多少圈 才能趕走你的慵懶 你想把卷子藏得多深 才能減輕你的麻木 你要為自己攢聚多少的信心 才能走到你想...
    洛之亦閱讀 180評論 1 1
  • 體驗入 今天是雨天,所以客人不是很多,前臺毛毛今天休息,昨天下班前把今天預約的客人全都安排好,做好記錄交給我,又再...
    冰咋吃閱讀 182評論 0 4