在进行编程时,一般我们会给一个函数或者变量起一个名字,该名称是用于引用或寻址函数变量。但是有一个低调的函数,你不需要赋予它名字,因此该函数也叫匿名函数。该函数就是Python中的Lambda函数,下面就来为大家解析lambda函数的基本使用方法。

为什么要使用Python Lambda函数?

匿名函数可以在程序中任何需要的地方使用,但是这个函数只能使用一次,即一次性的。因此Python Lambda函数也称为丢弃函数,它可以与其他预定义函数(如filter(),map()等)一起使用。相对于我们定义的可重复使用的函数来说,这个函数更加简单便捷。

如何在Python中编写Lambda函数?

Lambda函数是使用lambda运算符创建的,其语法如下:

语法: lambda参数:表达式

Python lambda函数可以包含任意多的参数,但它只有一个表达式。输入或参数可以从0开始。就像任何其他函数一样,lambda函数也可以是没有输入的。下面为大家举个例子:假如我们计算一个数的平方,则程序为:

 a = lambda x: x*x print(a(3)输出结果为:9

相应的,如果我们要计算两个数相乘,则:

a = lambda x,y: x*y
print(a(3,7))输出结果为:21

在这两个例子中,第一个示例lambda函数只使用一个表达式,而第二个示例有两个参数。而且这两个函数都有一个表达式后跟参数。因此有多种逻辑关系表达式的时候不能使用lambda函数。

匿名函数加速Python运行

在比较所需的代码量之前,让我们首先记下正常函数的语法,并将其与前面描述的lambda函数进行比较。Python中的任何普通函数都是使用def关键字定义的,具体语法如下所示:

def function_name(参数):statement(s)

因此lambda函数所需的代码量远远少于普通函数,也就是说使用Lambda可以精简代码,加速Python程序运行。让我们举个例子对比一下:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#——————————一般函数
def my_func(x):return x * x
print(my_func(3))
#————————Lambda函数
a = lambda x,y: x*y
print(a(3,7))

在上面的示例中,我们需要在my_func中使用return语句来计算3的平方值。相反,lambda函数不使用此return语句,因此Lambda函数计算的速度快于my_func函数。

Python Lambda函数的几种使用方法

示例一:定义一个普通的python函数并嵌入Lambda,函数接收传入的一个参数x。然后将此参数添加到lambda函数提供的某个未知参数y中求和。只要我们使用new_func(),就会调用new_func中存在的lambda函数。每次,我们都可以将不同的值传递给参数。

def new_func(x):return(lambda y:x + y)
t = new_func(3)
u = new_func(2)
print(t(3))
print(u(3))输出结果为:6,5

示例二:Lambda函数+filter函数

filter()方法用于根据一定的条件对给定的列表进行过滤。使用示例如下:

my_list = [2,3,4,5,6,7,8]
new_list = list(filter(lambda a:(a / 3 == 2),my_list))
print(new_list)输出结果为:[6]

此示例中my_list是一个列表,它作为参数传递给filter函数。此函数使用lambda函数检查列表中的值是否满足除以3等于2的条件,输出列表中满足条件的值。

示例三:Lambda函数+map函数

Python中的map()函数是一个将给定的列表的值依次在所定义的函数关系中迭代并返回一个新列表。例如:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
my_list = [2,3,4,5,6,7,8]
new_list = list(map(lambda a:(a / 3!= 2),li))
print(new_list)输出结果为:[真,真,真,真,假,真,真]

示例四:Lambda函数+reduce函数

reduce() 函数会对参数序列中元素进行累积。使用示例如下:

from functools import reduce
reduce(lambda a,b:a + b,[23,21,45,98])输出结果为:187

Python Lambda函数的几种使用方法相关推荐

  1. python lamda函数_python 用lambda函数替换for循环的方法

    场景如下: 现在有一个dataframe,其中一列为score,值从0-100, df: score 98 88 37 68 86 33 现在需要增加一列level,给这些分数分类,90分以上为A,6 ...

  2. python list find函数_对python中list的五种查找方法说明

    Python中是有查找功能的,五种方式:in.not in.count.index,find 前两种方法是保留字,后两种方式是列表的方法. 下面以a_list = ['a','b','c','hell ...

  3. Python语言学习之lambda:lambda函数的简介、使用方法、案例大全之详细攻略

    Python语言学习之lambda:lambda函数的简介.使用方法.案例大全之详细攻略 目录 lambda函数的简介 1.lambda匿名函数的格式 2.lambda函数特点 3.lambda函数与 ...

  4. c语言中用于获取字符串长度的函数是,C语言中求字符串长度的函数的几种实现方法...

    C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) { ass ...

  5. python list方法说明_对python中list的五种查找方法说明

    Python中是有查找功能的,五种方式:in.not in.count.index,find 前两种方法是保留字,后两种方式是列表的方法. 下面以a_list = ['a','b','c','hell ...

  6. python比较两个字符串相似度_详解Python 字符串相似性的几种度量方法

    字符串的相似性比较应用场合很多,像拼写纠错.文本去重.上下文相似性等. 评价字符串相似度最常见的办法就是:把一个字符串通过插入.删除或替换这样的编辑操作,变成另外一个字符串,所需要的最少编辑次数,这种 ...

  7. 细说Python Lambda函数的用法,建议收藏!

    本文分享自华为云社区<从零开始学python | 什么是Lambda函数以及如何使用它们?>,原文作者:Yuchuan . 名称是用于引用或寻址任何实体的约定.我们周围的几乎所有事物都有名 ...

  8. 大数据可视化python_大数据分析之Python数据可视化的四种简易方法

    本篇文章探讨了大数据分析之Python数据可视化的四种简易方法,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. < 数据可视化是任何数据科学或机器学习项目的一个重要组成部分 ...

  9. 用Python解析XML的几种常见方法的介绍

    这篇文章主要介绍了用Python解析XML的几种常见方法,包括快速的使用ElementTree模块等方法的实例介绍,需要的朋友可以参考下 一.简介 XML(eXtensible Markup Lang ...

最新文章

  1. 实战:vue项目中导入swiper插件
  2. Managing the Lifecycle of a Bound Service
  3. C++中类的6个默认成员函数
  4. Junit4常用注解
  5. LeetCode - 3Sum Closest
  6. java 高级编程进阶_JAVA高级编程之hibernate进阶学习
  7. docker菜鸟入门
  8. Python中Pygame的安装过程
  9. 程序员坐牢了,会被安排写代码吗?
  10. 拼图技巧,一家人的健康码行程码拼图怎么拼
  11. 【傻瓜教程】Ubuntu18.04LTS安装NVIDIA驱动详细完整过程
  12. React/Vue/Nerv 任你选,多端框架 Taro 发布 3.0 RC 版本
  13. Canvas实例之鼠标移动特效(彩色小球)
  14. HTML文本域添加滑杆,Objective-C 自定义UISlider滑杆 分段样式
  15. 核心关键词排名优化技巧
  16. 【射影几何01】 射影几何介绍
  17. 做软件第三方测试报告需要准备哪些材料,靠谱的软件测试中心推荐
  18. linux系统vi光标移动字符,Linux vi中移动光标命令
  19. C语言 10_随机数
  20. Windows 7 x64 SP1 安装 Windows Edge 浏览器

热门文章

  1. SpringMVC源码剖析(三)- DispatcherServlet的初始化流程
  2. 优雅的创建一个JavaScript库
  3. React(0.13) 定义一个动态的组件
  4. LVM是逻辑盘卷管理1
  5. Python之禅 by Tim Peters
  6. 教你获取WindowsNT的Admin权限的方法
  7. windows mysql主主配置_基于docker MySQL数据库主主同步配置(windows上)
  8. 扫地机器人腿是咕噜_扫地机器人|如何避免买到“智障”,看这篇
  9. 【MM配置】 MM组织架构的配置
  10. sap abap 对字符串的操作