Python程序教程

您现在的位置是:首页 >  python学习

当前栏目

Python lambda函数的学习

Python,lambda,函数,学习
2025-04-07 09:01:23 时间

大家好,又见面了,我是你们的朋友全栈君。

 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://javaforall.cn/155908.html原文链接:https://javaforall.cn