filter用法 filter(func,seq)

将seq的元素逐一代入func,通过func的返回值来判断是保留还是过滤

  1. >>> def foo(x):
  2. return x>3
  3.  
  4. >>> filter(foo,range(6))
  5. [4, 5]

>>> filter(lambda x:x>3,range(6))
[4, 5]

  1. #注意只需要写函数名,不带参数

map用法map(func/lambda,seq)

通过函数对队列中的每个元素进行操作,元素替换成返回值,注意是生成一个新的序列,原来的序列不会变化

  1. >>> map(lambda x:x*2,range(6))
  2. [0, 2, 4, 6, 8, 10]
  3. #同样的,这里要么是lambda表达式,要不就是是个函数名
  4. >>> a
  5. [1, 2, 3, 4, 5, 6]
  6. >>> map(foo,a)
  7. [False, False, False, True, True, True]
  8. >>> a
  9. [1, 2, 3, 4, 5, 6]
  10. #foo是判断x是否大于三,是返回True,否返回false
    对多个序列的操作

>>> map(lambda x,y:x+y,range(4),range(5))

  1.  

Traceback (most recent call last):
File "<pyshell#84>", line 1, in <module>
map(lambda x,y:x+y,range(4),range(5))
File "<pyshell#84>", line 1, in <lambda>
map(lambda x,y:x+y,range(4),range(5))
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
>>> map(lambda x,y:x+y,range(4),range(4))
[0, 2, 4, 6]

  1.  

列表解析

[表达式/函数,for循环]

  1. >>> [x**2 for x in range(6)]
  2. [0, 1, 4, 9, 16, 25]
  3. >>> [a**2 for x in range(6)]
  4. [1, 1, 1, 1, 1, 1]
  5. >>> #可见当你写一个for循环中无关的变量时,它仅仅重复表达式的结果
  6. >>> [foo(x) for x in range(6)]
  7. [False, False, False, False, True, True]
  8. #这里的函数要带括号,foo同上
  9. >>> [lambda x:x**2 for x in range(6)]
  10. [<function <lambda> at 0x01DE8870>, <function <lambda> at 0x01DE8830>, <function <lambda> at 0x01DE88F0>, <function <lambda> at 0x01DE8930>, <function <lambda> at 0x01DE8970>, <function <lambda> at 0x01DE89B0>]
  11. >>> [(lambda x:x**2)(x) for x in range(6)]
  12. [0, 1, 4, 9, 16, 25]
  13. #同样你需要把lambda看作是函数名,或者返回值
  14. >>> [x**2 for x in range(6) if x**2>9]
  15. [16, 25]
  16. >>> [(x**2,y**3) for x in range(4) for y in range(3) if x>0 and y>0]
  17. [(1, 1), (1, 8), (4, 1), (4, 8), (9, 1), (9, 8)]
  18. >>> #将后面的for看成嵌套的,还有前面的表达式记得加括号

reduce 对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用

  1. >>> reduce(lambda x,y:x+y,range(1,101))
  2. 5050
  3. >>> #reduce一定是接受一个二元函数,比如上面就是 (((1+2)+3)+4)+...
  4. >>> reduce(lambda x,y:x+y,range(1,101),100)
  5. 5150
  6. #接受的初始值

Python filter,map,lambda,reduce,列表解析的更多相关文章

  1. Python【map、reduce、filter】内置函数使用说明(转载)

    转自:http://www.blogjava.net/vagasnail/articles/301140.html?opt=admin 介绍下Python 中 map,reduce,和filter 内 ...

  2. 【转】Python 中map、reduce、filter函数

    转自:http://www.blogjava.net/vagasnail/articles/301140.html?opt=admin 介绍下Python 中 map,reduce,和filter 内 ...

  3. Python【map、reduce、filter】内置函数使用说明

    题记 介绍下Python 中 map,reduce,和filter 内置函数的方法 一:map map(...) map(function, sequence[, sequence, ...]) -& ...

  4. (Python)list的内建函数 filter(), map(), 和 reduce()

    这一节,我们将主要学习用于list的三个内建函数: filter(), map(), 和 reduce(). 1.filter(function, sequence)  逐个从sequence中取一个 ...

  5. 转:Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)

    Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...

  6. Python里的map、reduce、filter、lambda、列表推导式

    Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...

  7. Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)

    Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...

  8. python中reduce filter map lambda函数

    lambda函数 python 使用 lambda 来创建匿名函数,lambda返回值是一个函数的地址,也就是函数对象. 语法:lambda [arg1 [,arg2,.....argn]]:expr ...

  9. python filter map reduce

    filter(function, iterable): Construct a list from those elements of iterable for which function retu ...

随机推荐

  1. 常用dos命令 如查询端口号是否被占用

    ①查询端口号是否被占用掉 在windows命令行窗口下执行:运行--cmdC:\>netstat -aon|findstr "8080" TCP 127.0.0.1:80 0 ...

  2. github删除带有文件的文件夹

    1. git pull you git url2. git checkout 3. rm -rf dirName4. git add --all5. git commit -m"remove ...

  3. 安装生物信息学软件-Samtools

    装完Bowtie2,官方文档给出的栗子说可以玩一玩samtools,所以我入个坑 参考这篇http://m.010lm.com/roll/2016/0620/2343389.html Step 1: ...

  4. 黑马程序员——【Java高新技术】——JavaBean、注解

    ---------- android培训.java培训.期待与您交流! ---------- 一.JavaBean * 通过内省引入JavaBean:内省对应的英文全程是IntroSpector.在J ...

  5. OD调试篇7--笔记及解题报告

    MFC:微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows AP ...

  6. MVC中的自定义控件

    MVC中的控件都是HtmlHelper的扩展方法(不了解扩展方?法请阅读扩展方法),比如@Html.ActionLink,F12可以看到它是这样写的: public static MvcHtmlStr ...

  7. 68. 蓄水池抽样(Reservoir Sampling)

    [本文链接] http://www.cnblogs.com/hellogiser/p/reservoir-sampling.html 问题起源于编程珠玑Column 12中的题目10,其描述如下: H ...

  8. Linux下部署solrCloud

    1. 准备工作 这里我只是把我的师兄教我的关于Solrcloud搭建的过程,以及需要注意的地方文档化了.感谢他教会了我很多. 1.机子IP 三台安装linux系统的机子的IP地址为: 172.24.1 ...

  9. Linux命令:nohup、df、du与/dev/null

    早上开始工作时发现服务器挂掉了,重启TongWeb时有报错: 上面的红框圈错了,第一个红框的下一行: java.io.IOException: No Space left on device 我们用d ...

  10. 2015GitWebRTC编译实录16

    新问题,看应该是视频编解码那里出问题了.找找看.WebRtc VoiceEngine codecs:ISAC/16000/1 (103)ISAC/32000/1 (104)Unexpected cod ...