码迷,mamicode.com
首页 > 编程语言 > 详细

python之高阶函数

时间:2020-01-16 14:41:59      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:对象   冒号   迭代器   strong   函数   str   子程序   length   filter   

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之高阶函数

标签:对象   冒号   迭代器   strong   函数   str   子程序   length   filter   

原文地址:https://www.cnblogs.com/python-kp/p/12200514.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!