博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python之路---filter、map、lambda函数
阅读量:4597 次
发布时间:2019-06-09

本文共 1691 字,大约阅读时间需要 5 分钟。

 内置函数  filter和map                    

  filter函数  (筛选模式)得到的是列表对象,所以要for循环取每个对象

  1. 接收一个函数 f 和一个list,
  2. 这个函数 f 的作用是对每个元素进行判断,返回 True或 False,
  3. filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

来看些例子:

def is_odd(x):    return x % 2 == 1然后,利用filter()过滤掉偶数:ret = filter(is_odd, [1, 4, 6, 7, 9, 12, 17]) for i in ret:   print(i)      # 1 7 9 17 lambda和filter结合使用 ret = filter(lambda x:x % 2 ==1,[1, 4, 6, 7, 9, 12, 17]) for i in ret:   print(i)      # 1 7 9 17

   map函数  (循环模式)得到的是列表对象,所以要for循环取每个对象

  1. 接收一个函数 f 和一个序列,
  2. 这个函数 f 的作用是对每个元素进行判断,
  3. 返回新list。

来看些例子:

def is_odd(x):    return x % 2 == 1ret = map(is_odd, [1, 4, 6, 7, 9, 12, 17]) for i in ret:   print(i)      # True Flase False True True Flase True lambda和map结合使用 ret = map(lambda x:x % 2 ==1,[1, 4, 6, 7, 9, 12, 17]) for i in ret:   print(i)  # True Flase False True True Flase True

 

def func2(x):    return x**2obj = map(func2, [1, 2, 3, 4])for i in obj:    print(i)     # 1 4 9 16 lambda和map结合使用 ret = map(lambda x:x**2,[1, 2, 3, 4]) for i in ret:   print(i)    # 1 4 9 16

 

def func2(x, y):    return x + yobj1 = map(func2, [1, 2, 3, 4, 6], (2, 3, 4, 5))for i in obj1:    print(i)     # 3 5 7 9 lambda和map结合使用 ret = map(lambda x,y:x+y,[1, 2, 3, 4, 6], (2, 3, 4, 5)) for i in ret:   print(i)    # 3 5 7 9

 

 匿名函数  lambda                              

匿名函数:为了解决那些功能很简单的需求而设计的一句话函数。

def calc(n):    return n**nprint(calc(10))            # 10000000000# 换成匿名函数calc = lambda n:n**nprint(calc)               # 
at 0x03654738>print(calc(10)) # 10000000000

函数名 = lambda 参数 :返回值#参数可以有多个,用逗号隔开#匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值#返回值和正常的函数一样可以是任意数据类型
def add(x,y):    return x+yprint(add(1,2))# 变成匿名函数add = lambda x,y:x+yprint(add(1,2))

 

 

 

转载于:https://www.cnblogs.com/yanyufeng/p/9630351.html

你可能感兴趣的文章
提交到SVN中的项目被删除 且项目名已经被新建项目占用找回方法
查看>>
Word2010_2003页眉有条横线怎么删掉
查看>>
qwq
查看>>
简述MVC思想与PHP如何实现MVC
查看>>
python之旅:常用模块
查看>>
android 练习之路 (五)
查看>>
matplotlib——pyplot和pylab区别
查看>>
Promise异步编程模式总结
查看>>
做网站用UTF-8编码还是GB2312编码?
查看>>
在ant编译java文件时产生debug信息
查看>>
深入理解计算机系统--信号
查看>>
Oracle触发器-变异表触发器不能访问本表
查看>>
centos+scala2.11.4+hadoop2.3+spark1.3.1环境搭建
查看>>
浅析libuv源码-node事件轮询解析(3)
查看>>
python想要入门--瞎学习
查看>>
原生JS实现全选和不全选
查看>>
中间件、服务器和Web服务器三者的区别
查看>>
定目标
查看>>
zabbix监控tcp/nginx/memcache连接数自定义监控shell
查看>>
Django 中间件
查看>>