《Python数据科学指南》——1.16 使用lambda创造匿名函数

简介:

本节书摘来自异步社区《Python数据科学指南》一书中的第1章,第1.16节,作者[印度] Gopi Subramanian ,方延风 刘丹 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.16 使用lambda创造匿名函数

匿名函数是由Python中的lambda语句产生的。一个没有被命名的函数就是匿名函数。

1.16.1 准备工作

如果你掌握了将函数作为参数传递的内容,你会发现这节的示例和它非常相似。这节我们会传递一个预定义的函数,一个lambda函数。

1.16.2 操作方法

我们写一个简单的操作小型数据集的示例,来解释Python中的匿名函数。

# 1.创建一个简单的列表,写一个类似于1.13节“将函数作为参数传递”中的函数
a =[10,20,30]

def do_list(a_list,func):
     total = 0
     for element in a_list:
          total+=func(element)
     return total

print do_list(a,lambda x:x**2)   
print do_list(a,lambda x:x**3)   

b =[lambda x: x%3 ==0  for x in a  ]

1.16.3 工作原理

第1步中,do_list函数接受另一个函数作为参数。在输入的列表和函数的共同作用下,do_list函数应用输入的函数对给定的列表中的元素进行处理,对要转换的数值进行求和,并返回结果。

接着,对do_list函数进行调用,第1个参数是我们输入的列表a,第2个参数是我们的lambda函数,我们来解码它。

lambda x:x**2

通过关键字lambda,我们就声明了一个匿名函数,跟着是定义一个函数的参数,本例中,x就是被传递给这个匿名函数的参数名。表达式中跟在冒号符之后的是返回值,输入参数按照表达式进行运算,并给出返回值。本例中,输入值的平方值被返回作为输出。第2个print语句里,我们有另一个lambda函数,用来返回给定输入的立方值。

相关文章
|
3月前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
155 67
|
1月前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
31 3
|
1月前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
41 2
|
29天前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
16 0
|
2月前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
64 18
|
2月前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
85 8
|
2月前
|
Python
Python中的函数
Python中的函数
62 8
|
3月前
|
监控 测试技术 数据库
Python中的装饰器:解锁函数增强的魔法####
本文深入探讨了Python语言中一个既强大又灵活的特性——装饰器(Decorator),它以一种优雅的方式实现了函数功能的扩展与增强。不同于传统的代码复用机制,装饰器通过高阶函数的形式,为开发者提供了在不修改原函数源代码的前提下,动态添加新功能的能力。我们将从装饰器的基本概念入手,逐步解析其工作原理,并通过一系列实例展示如何利用装饰器进行日志记录、性能测试、事务处理等常见任务,最终揭示装饰器在提升代码可读性、维护性和功能性方面的独特价值。 ####
|
3月前
|
缓存 前端开发 JavaScript
使用 aws lambda 时,开发人员面临的常见挑战之一是管理大型 python 依赖项。
在我们快速发展的在线环境中,只需几秒钟加载的网站就能真正脱颖而出。您是否知道加载时间较快的网站的转化率比加载时间较长的网站高出三倍?
42 0
使用 aws lambda 时,开发人员面临的常见挑战之一是管理大型 python 依赖项。
|
3月前
|
存储 JSON 网络安全
使用 EFS 在 AWS Lambda 上安装 Python 依赖项
使用 aws lambda 时,开发人员面临的常见挑战之一是管理大型 python 依赖项。
49 1

热门文章

最新文章