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之高阶函数的主要内容,如果未能解决你的问题,请参考以下文章

Python之高阶函数

python之高阶函数

python之高阶函数

python之高阶函数

python基础之装饰器

python开发之路---第二章之--函数之高阶函数