Python3 的lambda表达式

1、匿名函数

一般的屌丝函数是这样定义的

def ds(x):
    return 2*x+1

而匿名函数是这样的

lambda x:2*x+1

使用匿名函数的好处

1、可以使函数更加简洁

2、无需考虑命名,不用为孩子起名字绞尽脑汁了哈哈哈哈哈

3、简化代码,提高代码的可读性

2、两个常用的内置函数

1)filter(参数1,参数2) 参数2带入参数1中计算如果为真最后返回输出为真的集合

利用lambda表达式和filter()求100以内3的倍数

list(filter(lambda n : not(n%3), range(1, 100)))

利用列表推导式代替上题

[ i for i in range(1, 100) if not(i%3)]

2、map(参数1,参数2)参数二代入到参数1中计算返回计算值的集合

模拟zip()将两个序列打包成元素为列表的形式

>>> list(map(lambda x, y : [x, y], [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]))
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]

 

posted @ 2018-01-27 20:21  消灭猕猴桃  阅读(2005)  评论(0编辑  收藏  举报