Python lambda函数的学习

 lambda函数在python 基础中没看过,查找资料目前知道如下的用法

1. 用于简单表达式的计算
lambda 参数:表达式

如:
result = lambda x: x**2
print(result(3))

---- 参数也可以有多个

result = lambda x,y:x+y
print(result(3,4))


2. filter函数和 lambda函数,此时lambda函数用于指定过滤列表元素的条件
y = [1,3,4,5,6,7,10,8]
res = filter(lambda x:x%2 ==0, y)
print(list(res))
----是偶数打印出来-----

3. sorted 函数和lambda函数,用于指定对列表中所有元素进行排序

y = [1,3,4,5,6,7,10,8]
    res = sorted(y, key=lambda x: abs(5-x))
print(res)
-------倒序排增加关键字--------------
    res = sorted(y, key=lambda x: abs(5 - x),reverse=True)


4. map 函数和lambda函数,用于指定对列表中每一个元素的共同操作
y = [1,3,4,5,6,7,10,8,6]
res = map(lambda x:x-1,y)
print(list(res))

5. reduce函数和lambda函数,---对相邻两个数按一定要求结合

如:将相邻两个数以,复制给变量,该变量为字符串

from functools import reduce
res =
reduce(lambda a, b: '{},{}'.format(a, b), [1, 2, 3, 4, 5, 6, 7, 8, 9])
print(res)

----结果------
1,2,3,4,5,6,7,8,9

如:将相邻数累加

from functools import reduce

y = [1, 3, 4, 5, 6, 7, 10, 8]
print(reduce(lambda x,z:x+z,y))

'''过程'''
1+3+4+5+6+7+10+8

# 相邻的数相乘 + 1得出一个新值再和后面相邻的数相乘 + 1
from functools import reduce
y = [1, 3, 4, 5, 6]
print(reduce(lambda x,z:x*z+1,y))

'''
运行步骤
1 * 3 + 1=4
4* 4 + 1 = 17
17 * 5 + 1 = 86
86 * 6 + 1 = 517












原文地址:https://www.cnblogs.com/xiaowandian/p/13710735.html