python基础学习之函数(3)-λ表达式,过滤器,map函数
2017-04-26 12:10
330 查看
λ表达式
在python中使用lambda表达式,方便使用匿名函数,省去了函数的定义,使代码更加精简。
例子:
>>> def ds(x):
return 2*x+1
>>> ds(5)
11
怎么用λ表达式来实现呢?
>>> lambda x:2*x+1
<function <lambda> at0x00000000030B8840>
返回的是一个函数对象,然后用一个标签来获取其值即可。
>>> g = lambda x:2*x+1
>>> g(2)
5
对于一些比较抽象而且整个程序执行下来此函数执行次数很少,而且此函数很简单,则推荐使用lambda表达式。
不需要跳到定义部分查看的函数定义,查看代码简单方便。
过滤器filter
filter(function or None, iterable)
--> filter object
如果第一个参数是None ,则会过滤掉不是True的值。
例如:
>>> list(filter(None,[0,2,False]))
[2]
>>> filter(None , [1,0,False])
<filter object at 0x000000000301CE10>
返回的是一个过滤器对象
如果第一个参数是自己指定的函数,则可以指定过滤的方法,例如过滤出奇数。
>>> def odd(x):
returnx%2
>>> temp = range(10)
>>> show = filter(odd,temp)
>>> list(show)
[1, 3, 5, 7, 9]
当x=1,3,5,7,9时odd函数才会返回True。
用lambda表达式怎么表示上述一段代码呢?
>>> list(filter((lambdax:x%2),range(10)))
[1, 3, 5, 7, 9]
map函数
map(func, *iterables) --> map object
将iterables里的值一个个在func里运行一次,生成一个map对象。(然后可以用list()来转换成List对象)
例子:
>>> list(map((lambdax:x*2),range(3,7)))
[6, 8, 10, 12]
在python中使用lambda表达式,方便使用匿名函数,省去了函数的定义,使代码更加精简。
例子:
>>> def ds(x):
return 2*x+1
>>> ds(5)
11
怎么用λ表达式来实现呢?
>>> lambda x:2*x+1
<function <lambda> at0x00000000030B8840>
返回的是一个函数对象,然后用一个标签来获取其值即可。
>>> g = lambda x:2*x+1
>>> g(2)
5
对于一些比较抽象而且整个程序执行下来此函数执行次数很少,而且此函数很简单,则推荐使用lambda表达式。
不需要跳到定义部分查看的函数定义,查看代码简单方便。
过滤器filter
filter(function or None, iterable)
--> filter object
如果第一个参数是None ,则会过滤掉不是True的值。
例如:
>>> list(filter(None,[0,2,False]))
[2]
>>> filter(None , [1,0,False])
<filter object at 0x000000000301CE10>
返回的是一个过滤器对象
如果第一个参数是自己指定的函数,则可以指定过滤的方法,例如过滤出奇数。
>>> def odd(x):
returnx%2
>>> temp = range(10)
>>> show = filter(odd,temp)
>>> list(show)
[1, 3, 5, 7, 9]
当x=1,3,5,7,9时odd函数才会返回True。
用lambda表达式怎么表示上述一段代码呢?
>>> list(filter((lambdax:x%2),range(10)))
[1, 3, 5, 7, 9]
map函数
map(func, *iterables) --> map object
将iterables里的值一个个在func里运行一次,生成一个map对象。(然后可以用list()来转换成List对象)
例子:
>>> list(map((lambdax:x*2),range(3,7)))
[6, 8, 10, 12]
相关文章推荐
- 函数:lambda表达式 - 零基础入门学习Python021
- 零基础入门学习Python(21)--函数:lambda表达式
- 零基础入门学习Python(21)--函数:lambda表达式
- Python中re(正则表达式)模块函数学习
- Python学习入门基础教程(learning Python)--8.3 字典常用的方法函数介绍
- Python基础函数学习笔记(一)
- [Python学习] 专题一.函数的基础知识
- Python修炼--常用字符串、数学函数 分类: python基础学习 2013-06-16 13:23 205人阅读 评论(0) 收藏
- Python学习入门基础教程(learning Python)--3.3.3 Python逻辑关系表达式
- Python基础函数学习笔记(二)
- 函数:内嵌函数和闭包 - 零基础入门学习Python020
- Python基础函数学习笔记(三)
- Python学习入门基础教程(learning Python)--2.1 Python下自定义函数 .
- python常用函数总结 分类: python基础学习 2014-02-07 14:12 260人阅读 评论(0) 收藏
- python基础学习-3(函数)
- Python学习入门基础教程(learning Python)--6.4 Python的list与函数
- Python学习入门基础教程(learning Python)--2.3.2Python函数实参详解
- Python学习入门基础教程(learning Python)--2.3.4Python函数返回值
- 《Python 学习手册4th》 第十六章 函数基础
- python re模块学习--正则表达式函数