Python3匿名函数lambda介绍与使用示例

 更新时间:2019年05月18日 11:30:20   作者:若数  
这篇文章主要给大家介绍了关于Python3匿名函数lambda与使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python3具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

概述

匿名函数,顾名思义即没有名称的函数,和def定义的函数的最大区别在于匿名函数创建后返回函数本身(即匿名函数不需要return来返回值),表达式本身结果就是返回值,而def创建后则赋值给一个变量名,在Python中,我们利用关键词lambda创建匿名函数,以下是匿名函数lambda表达式的形式:

lambda arg1,arg2,.....argn:expression

以下为一些lambda的特点:

  • lambda 是一个表达式,而不是一个语句,即我们可以在任何可以使用表达式的场景一样使用lambda。
  • lambda 的主体也是一个表达式,即和def定义的函数一样,lambda也有函数主体,不过lambda的主体仅仅是一个表达式,所以其使用的功能受到较大的限制。

lambda使用

无参匿名函数

# 可以将lambda直接传递给一个变量,像调用一般函数一样使用
B = lambda :True
print(B())

# 等价于
def BF():
 return True
print(BF())

示例结果:

True
True

有参匿名函数

支持多个参数

参数无默认值

two_sum = lambda x, y: x + y
# 等同于:
def two_sum(x, y): return x + y
print(two_sum(1,2))

示例结果:

3

参数带默认值

sum_with_100 = lambda x, y=100: x + y
# 等同于:
def sum_with_100(x, y=100): return x + y
print(sum_with_100(200))

示例结果:

300

从后面传参

之前的示例我们将lambda匿名函数赋值一个变量,通过类似def定义的函数的方式传参,我们可以在lambda后面直接传递参数:

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

示例结果:

7

嵌套使用

将lambda嵌套到普通函数中,lambda函数本身做为return的值,构建简单的闭包

def sum(x):
 return lambda y: x + y
sum_with_100 = sum(100)
result = sum_with_100(200)
print(result)

示例结果:

300

一些使用实例

1. 结合三元表达式求两值中最小值

lower = lambda x,y: x if x<y else y
print(lower(7,100))

实例结果:

7

2. 对字典某一键值进行排序

d = [{"order":3},{"order":1},{"order":2}]
# 根据order键值排序
d.sort(key=lambda x:x['order']) 
print(d)

实例结果

[{'order': 1}, {'order': 2}, {'order': 3}]

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

相关文章

  • 对pandas中iloc,loc取数据差别及按条件取值的方法详解

    对pandas中iloc,loc取数据差别及按条件取值的方法详解

    今天小编就为大家分享一篇对pandas中iloc,loc取数据差别及按条件取值的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Pytorch中torchtext终极安装方法以及常见问题

    Pytorch中torchtext终极安装方法以及常见问题

    torchtext是pytorch框架中用于文本处理的,下面这篇文章主要给大家介绍了关于Pytorch中torchtext终极安装方法以及常见问题的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • python查看自己安装的所有库并导出的命令

    python查看自己安装的所有库并导出的命令

    这篇文章主要介绍了python查看自己安装的所有库并导出,主要包括查看安装的库通过命令查询,导出库安装文件执行命令,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • Python2/3中urllib库的一些常见用法

    Python2/3中urllib库的一些常见用法

    Urllib库是Python中的一个功能强大、用于操作URL,并在做爬虫的时候经常要用到的库。下面这篇文章主要给大家介绍了关于Python2/3中urllib库的一些常见用法的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-12-12
  • 设置jupyter中DataFrame的显示限制方式

    设置jupyter中DataFrame的显示限制方式

    这篇文章主要介绍了设置jupyter中DataFrame的显示限制方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来
    2020-04-04
  • 基于Python编写一个爆炸信息窗口脚本

    基于Python编写一个爆炸信息窗口脚本

    这篇文章主要为大家详细介绍了如何利用Python语言编写一个爆炸信息窗口脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以尝试一下
    2022-11-11
  • 浅析Python中线程以及线程阻塞

    浅析Python中线程以及线程阻塞

    这篇文章主要为大家简单介绍一下Python中线程以及线程阻塞的相关知识,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解一下
    2023-04-04
  • opencv3/C++实现视频背景去除建模(BSM)

    opencv3/C++实现视频背景去除建模(BSM)

    今天小编就为大家分享一篇opencv3/C++实现视频背景去除建模(BSM),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python自动创建Excel并获取内容

    Python自动创建Excel并获取内容

    这篇文章主要介绍了Python自动创建Excel并获取内容,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • python自动生成sql语句的脚本

    python自动生成sql语句的脚本

    这篇文章主要介绍了python自动生成sql语句的脚本,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02

最新评论