如果需要处理一个数据,可能会出现很多需求,比如说有的需要在原来的数字上+1,有的需要在原来的数字上做平方处理,有的需要做减法处理,有一万个需求需要你去做,这是你可能需要些很多函数来对原来的数据进行处理,比如下方的这些函数都是一些处理数据的函数。
def test(x):
return x+1
print(test(1))#2
def test(x):
return x**2
print(test(2))#4
如果有很多个这样那样的需求,要是写很多个函数就太麻烦了,这时就出来了一个救星,那就是内置函数lambda
哪怕你有一万个需求,我也能有一万种做法
实现上面的数据处理只需要一行代码
func = lambda x:x+1
print(func(1))
lambda内置函数只需要传入x的值就能把处理的数据带出,就是这么嗨
在说下map函数,首先还是说一下我们需求,首先给很出一个列表,我们需要对列表里面的数据进行处理,比如说需要把列表里面的数据同时做平方,这是我们可能会这样写
def add(x):
return x+1
def map_test(func,array):
ret = []
for i in array:
ret.append(func(i))
return ret
a = map_test(add,[1,2,3,4,5])
print(a)#[2,3,4,5,6]
这样看来我们实现了需求,但是这时候出现了更简单的函数,于是,我们就改变了写法,就是用了map函数
map(_func,_iter)
map函数需要传递两个参数,第一个参数是一个函数,第二个参数时一个可迭代的数据
上面的需求实现就简单了
ret = map(lambda x:x+1,[1,2,3,4,5])
print(list(ret)))#[2,3,4,5,6]
两行代码轻轻松松搞定,惊喜不惊喜,开心不开心,愉快不愉快,好了,就这样!