高阶函数(函数使用方法更新于内置函数)

读代码:
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,731评论 0 5
  • 在前端样式属性中,我们经常会使用line-height这个属性,在刚开始学习css的时候,很多人经常会直接把lin...
    W北落师门W阅读 3,796评论 1 1
  • 你想把笔打转多少圈 才能赶走你的慵懒 你想把卷子藏得多深 才能减轻你的麻木 你要为自己攒聚多少的信心 才能走到你想...
    洛之亦阅读 180评论 1 1
  • 体验入 今天是雨天,所以客人不是很多,前台毛毛今天休息,昨天下班前把今天预约的客人全都安排好,做好记录交给我,又再...
    冰咋吃阅读 182评论 0 4