匿名函数

无需显式定义函数名,和函数过程,使代码更精简的lambda表达式

函数没有命名,不用担心函数名的冲突

冒号前面代表函数的参数,后面表示计算过程

>>>func=lambda x : 2*x+1
>>>func(5)
11

map()

根据提供的函数对指定序列做出相应的映射

它接受两个参数,第一个是函数对象本身,第二个是序列

map将传入的函数依次作用到序列的每个元素,并把结果作为新的迭代器返回

由于结果是一个迭代器,可通过list()函数让它返回一个新的list

例1:将数字转换为字符串

>>>list(map(str,[1,2,3]))
['', '', '']

例2:计算平方

>>>def func(x):
  return x*x
>>>list(map(func,[1,2,3]))
[1, 4, 9]

还可以与lambda合用简化代码:

>>>list(map(lambda x : x*x,range(1,4)))
[1, 4, 9]
>>>list(map(lambda x,y : 2*x-y,[1,3,5],[2,4,6]))
[0, 2, 4]

filter()

和map()类似,但不会返回所有的映射值,会过滤掉不符合条件的值

它接受两个参数,第一个是判断函数,第二个是序列

例1:删除序列中的空字符

>>>def not_empty(s):
  return s and s.strip()
>>>list(filter(not_empty,['a','','B',None,' ']))
['a', 'B']

例2:求奇数

>>>def odd(x):
  return x%2
>>>list(filter(odd,[1,2,3,4,5,6,7,8,9]))
[1, 3, 5, 7, 9]

还可以与lambda合用简化代码:

>>>list(filter(lambda x : x%2,[1,2,3,4,5,6,7,8,9]))
[1, 3, 5, 7, 9]

1-20以内所有能被3整除的数:

>>>list(filter(lambda x: not(x%3),range(1,20)))
[3, 6, 9, 12, 15, 18]

最新文章

  1. ARC-数据类型需要释放的情况
  2. Unity3D 通用提示窗口实现分析(Inventory Pro学习总结)
  3. Openstack的删除错误网桥,虚拟网络
  4. oracle之报错:ORA-00054: 资源正忙,要求指定 NOWAIT_数据库的几种锁
  5. 新浪微博、腾讯微博、QQ空间、人人网、豆瓣 一键分享API
  6. ExcelApplication 另存Excel的SaveAs函数
  7. 方向梯度直方图(HOG)和颜色直方图的一些比較
  8. 虚拟机创建流程中neutron代码分析(一)
  9. js禁止开发者工具
  10. 框架开发之——AngularJS+MVC+Routing开发步骤总结——5.14
  11. 消息中间件--ActiveMQ&JMS消息服务
  12. Socket层实现系列 — connect()的实现
  13. (二)文档请求不同源之window.name跨域
  14. linux(Redhat7)安装Apache
  15. JS之iscroll.js的使用详解
  16. li下的ul----多级列表
  17. MySQL设置只读模式
  18. jrebel
  19. CSS3 鼠标划上图片放大
  20. BackBone及其实例探究

热门文章

  1. find命令之正则表达式
  2. springboot的jar包部署
  3. 机器学习-线性回归补充-R^
  4. win10 护眼
  5. hdu 2665 Kth number (poj 2104 K-th Number) 划分树
  6. centos 6.5 关闭防火墙
  7. iOS项目开发中的知识点与问题收集整理①
  8. dotnet 跨平台编译发布
  9. 【Linux】清理缓存buffer/cache
  10. KVM(多电脑切换器)