零基础入门学习Python(12):lambda表达式、filter()和map()
2015-12-16 15:21
896 查看
零基础入门学习Python(12):lambda表达式、filter()和map()
匿名函数,使用lambda表达式构建一个函数对象
[code]>>> def test1(x): #普通函数 return 2 * x + 1 >>> test1(5) 11 >>> lambda x : 2 * x + 1 #lambda表达式 <function <lambda> at 0x010538A0> >>> f = lambda x : 2 * x + 1 #可以把lambda表达式赋给一个名字直接调用 >>> f(5) 11 >>> lambda x,y: x + y #lambda表达式可以有多个参数 <function <lambda> at 0x01053930> >>> f = lambda x,y: x + y >>> f(3,4) 7
下面介绍Python中两个常用的内置函数:filter()和map()
1、filter():过滤器,去掉非True的元素,带两个参数,第一个参数可以是None或者一个函数,第二个参数是一个可迭代对象,返回值是一个对象,可以利用list显示出来[code]>>> filter(None,[-1,0,2,False,True]) #返回一个filter对象 <filter object at 0x025E3B50> >>> list(filter(None,[-1,0,2,False,True])) #第一个参数为None时,返回第二个参数中为真的元素 [-1, 2, True] >>> f = lambda x: x%2 >>> list(filter(f,range(12))) #这个过滤器的作用是返回不能被2整除的数 [1, 3, 5, 7, 9, 11]
2、map():映射,两个参数,第一个参数是一个函数,第二个参数是可大于一个的可迭代对象,返回可迭代对象元素在函数中计算得到的值,返回一个map对象
[code]>>> list(map((lambda x: x+2),range(3))) [2, 3, 4] >>> list(map((lambda x,y: x+y),range(3),range(5))) #lambda函数需要两个参数,所以map()有两个可迭代对象,当计算完最短的可迭代对象中的元素时停止 [0, 2, 4]
零基础入门学习Python(11):内嵌函数、闭包和变量作用域
相关文章推荐
- Python基础教程 第4章: 字典 学习笔记
- python操作MySQL数据库
- Python 学习
- python and ice
- python批量GBK转UTF-8
- 【Python 1】函数模块
- python循环技巧
- Python文件I/O
- [No000066]python各种类型转换-int,str,char,float,ord,hex,oct等
- [No000065]python 获取当前时间
- python监控服务器信息
- SubLime Text3 打造Python的IDE
- Python小技巧:使用*解包和itertools.product()求笛卡尔积
- python-列表式实战
- Python学习笔记(2)装饰器
- python 文件读取
- python中 encode,decode,unicode,utf-8
- 【python】pip的使用
- 最小生成树,普里姆算法(Python实现)
- Python