今天学习特殊函数:
lambda map filter 1.lambda示例: 定义普通函数
def dd():
x += 3
return x
>>> dd(5)
8
使用lambda定义
>>> dd = lambda x: x+3
>>> dd(5)
>8
2.map实例: 可以将后方的迭代器对象,每一个元素依次取出来传入前方的函数
m = map(lambda x: x+3, range(5))
注意使用map返回的是一个object对象,查看的话需要转换
>>> list(m)
[3,4,5,6,7]
下面将三个列表中对应的元素相加
l1 = [1,2,3,4,5]
l2 = [6,7,8,9,10]
l3 = [11,12,13,14,15]
使用正常的列表解析:
>>> [a+b+c for a, b, c in zip(l1,l2,l3)]
[18, 21, 24,27 ,30]
使用map函数:
m = map(lambda a, b, c: a+b+c, l1, l2 ,l3)
同样转换成list查看
>>> list(m)
[18,21,24,27,30]
3.filter实例: 最后一个特殊函数filter,用于过滤 首先定义一个列表
>>> n = range(-5, 5)
然后用filter过滤大于0的数字:
>>> f = filter(lambda x: x>0, n)
>>> list(f)
[1, 2, 3, 4]
|