廖雪峰python3高阶函数部分理解

廖雪峰python3高阶函数部分理解

时间:2018年04月21日00:00:03

4.20,看了廖雪峰的python3教程,没有看太多,只看了高阶函数的map(前几天),reduce,filter,sorted函数.

总结一下:

  1. map函数,用法map(f,Inerator)
    f表示一个函数,Inerator表示一个迭代器,类似[1,2,3]这种可被for循环访问的,其效果为对迭代器中每一个值都执行f函数的操作,并返回一个迭代器,返回的迭代器可使用一个变量接住,后对该迭代器迭代即可取出其中的元素,也可使用list函数list(map(f,Inerator))这样就成为列表.

  2. reduce函数,初次见到这个函数,其实对它不是很理解.因为作者用了一个sum来举列子,当时还在想为什么这样浪费呢?后来发现有些玄机.reduce函数格式reduce(f,[x1,x2,x3,x4])=f(f(f(x1,x2),x3),x4),和秦九韶算法好像一样(虽然我忘了那是啥).但reduce很有用.

  3. filter函数,筛选.filter(f,Inerator)差不多,对迭代器中的元素执行f操作,如果返回结果为真,则留下,反之丢掉,和map相同,它返回也是迭代器.表示不是很懂下面的是什么.

    def _not_divisible(n):
       return lambda x: x % n >0

  4. sorted函数简单点.就接受一个key,可对排序方式进行设定sorted([1,-2,5,-9],key=abs)就是按绝对值排序

  5. 其实还看了装饰器和闭包,无奈感觉智商不够,没法理解,改日再看一遍这两个.

    end:2018年04月21日00:21:28

你可能感兴趣的:(python学习)