python之高阶函数
Posted 南山散人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之高阶函数相关的知识,希望对你有一定的参考价值。
1.map()
map()是python内置的高阶函数(一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数【若返回值为该函数本身,则为递归】,满足其一则为高阶函数),它接收一个函数f和一个list,并通过把函数f依次作用在list的每个元素上,返回一个新的list。
# -*- coding:utf-8 -*- website = ["www.xx.com","www.baidu.com","bbs.xx.com"] def wordCount(string): return len(string) siteNameLength = map(wordCount,website) print siteNameLength
结果:
[17, 13, 18]
2.匿名函数lambda()
lambda()匿名函数是指一类无需定义标识符(函数名)的函数或子程序。lambda函数的格式为:冒号前是参数,冒号后面是返回值。
# -*- coding:utf-8 -*- website = ["www.xx.com", "bbs.xx.com", "docs.xx.com"] siteNameLength = map(lambda string:len(string),website) print siteNameLength
结果:
[17, 17, 18]
3.reduce()
reduce()函数首先把前两个元素传给函数参数,函数加工后,然后把得到的结果和第三个元素作为两个参数传给函数参数,函数加工后得到的结果又和第四个元素作为两个参数传给函数参数,依次类推。
print reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) S = lambda x,y,z:x+y+z print S(1,2,3)
结果:
15
6
4.filter()
filter()函数用于过滤序列,过滤掉不符合条件的元素,返回迭代器对象(python2是列表)。
list2 = filter(lambda x:x%2==0, [1,2,3,4,5,6]) print(list(list2))
结果:
[2, 4, 6]
以上是关于python之高阶函数的主要内容,如果未能解决你的问题,请参考以下文章