匿名函数 | Python从入门到精通:高阶篇之十四

简介: 匿名函数一般都是作为参数使用,其他地方一般不会使用。用于简单的函数,复杂的不建议使用。

查看上一节:初识高阶函数

过滤器filter函数

首先打开官网,找到Library Reference,点击打开:
image.png
找到build in Functions
image.png
在这里面找到filter()
image.png
filter就是一个过滤器的意思。filter()可以从序列中过滤出符合条件的元素,保存到一个新的序列中。

参数:
1.函数,根据该函数来过滤序列(可迭代的结构)
2.需要过滤的序列(可迭代的结构)
返回值:
过滤后的新序列(可迭代的结构)

变换上节课的示例:

# 创建一个列表
l = [1,2,3,4,5,6,7,8,9,10]

# 这个函数可以将3的倍数取出
def fn4(i):
    if i % 3 == 0 :
        return True
    return False
def fn(func , lst) :# 定义高阶函数fn

    # 创建一个新列表
    new_list = []

    # 对列表进行筛选
    for n in lst :
      new_list.append(n)
    # 返回新列表
    return new_list

print(list(filter(fn4 , l)))

执行结果为:
image.png
可以看到此时打印的结果还是3的倍数。
总结:
fn4是作为参数传递进filter()函数中, 而fn4实际上只有一个作用,就是作为filter()的参数,filter()调用完毕以后,fn4就已经没用了。

lambda函数

但是这样并不推荐使用,接下来介绍一种新的函数:匿名函数(也叫 lambda )(语法糖)

lambda函数表达式专门用来创建一些简单的函数,他是函数创建的又一种方式。

语法:lambda 参数列表 : 返回值

匿名函数一般都是作为参数使用,其他地方一般不会使用。用于简单的函数,复杂的不建议使用。
计算两数之和:

print((lambda a,b:a+b)(10,20))

执行结果为:
image.png
一般是不这么使用的,这里只是介绍一下lambda函数的用法。
还有一种用法,可以将匿名函数赋值给一个变量:

# 3的倍数
r=filter(lambda i : i % 3==0,l)
print(r)

而且在这里只需要调整lambda里面的返回值内容即可,不需要另外构建函数。

map函数

可遍历可迭代对象的所有元素做指定的操作,然后将其添加到一个新的列表中返回。
示例:将列表中的元素都加1

# 创建一个列表
l = [1,2,3,4,5,6,7,8,9,10]

r=map(lambda i : i+1,l)
print(list(r))

执行结果为:
image.png

点击查看配套视频教程

获取更多内容,请订阅Python学习站官方技术圈!

相关文章
|
7天前
|
数据采集 存储 JSON
Python爬虫开发:BeautifulSoup、Scrapy入门
在现代网络开发中,网络爬虫是一个非常重要的工具。它可以自动化地从网页中提取数据,并且可以用于各种用途,如数据收集、信息聚合和内容监控等。在Python中,有多个库可以用于爬虫开发,其中BeautifulSoup和Scrapy是两个非常流行的选择。本篇文章将详细介绍这两个库,并提供一个综合详细的例子,展示如何使用它们来进行网页数据爬取。
|
15天前
|
存储 JSON 安全
从入门到精通:Python中的OAuth与JWT,打造无懈可击的认证体系🔒
【8月更文挑战第4天】构建现代Web和移动应用时,用户认证与授权至关重要。Python集成OAuth和JWT技术,能轻松实现安全认证。本文从OAuth基础入手,介绍如何使用`requests-oauthlib`库简化流程,再到JWT进阶应用,利用`PyJWT`库生成及验证令牌。最后,探讨如何结合两者,创建无缝认证体验。通过代码示例,由浅入深地引导读者掌握构建坚固应用认证体系的方法。
35 2
|
3天前
|
存储 缓存 算法
Python中的hash函数
Python中的hash函数
|
4天前
|
数据采集 数据可视化 算法
GitHub星标68K!Python数据分析入门手册带你从数据获取到可视化
Python作为一门优秀的编程语言,近年来受到很多编程爱好者的青睐。一是因为Python本身具有简捷优美、易学易用的特点;二是由于互联网的飞速发展,我们正迎来大数据的时代,而Python 无论是在数据的采集与处理方面,还是在数据分析与可视化方面都有独特的优势。我们可以利用 Python 便捷地开展与数据相关的项目,以很低的学习成本快速完成项目的研究。
|
5天前
|
数据采集 数据可视化 算法
GitHub星标68K!Python数据分析入门手册带你从数据获取到可视化
Python作为一门优秀的编程语言,近年来受到很多编程爱好者的青睐。一是因为Python本身具有简捷优美、易学易用的特点;二是由于互联网的飞速发展,我们正迎来大数据的时代,而Python 无论是在数据的采集与处理方面,还是在数据分析与可视化方面都有独特的优势。我们可以利用 Python 便捷地开展与数据相关的项目,以很低的学习成本快速完成项目的研究。 今天给小伙伴们分享的这份Python数据分析入门手册本着实用性的目的,着眼于整个数据分析的流程,介绍了从数据采集到可视化的大致流程。
|
5天前
|
Python
Python学习笔记---函数
这篇文章是一份Python函数学习的笔记,涵盖了使用函数的优势、内置函数的调用、自定义函数的定义、函数参数的不同类型(必须参数、关键字参数、默认参数、可变参数)、有返回值和无返回值的函数、形参和实参、变量作用域、返回函数、递归函数、匿名函数、偏函数以及输入和输出函数等多个函数相关的主题。
|
14天前
|
机器学习/深度学习 开发者 Python
Python 与 R 在机器学习入门中的学习曲线差异
【8月更文第6天】在机器学习领域,Python 和 R 是两种非常流行的编程语言。Python 以其简洁的语法和广泛的社区支持著称,而 R 则以其强大的统计功能和数据分析能力受到青睐。本文将探讨这两种语言在机器学习入门阶段的学习曲线差异,并通过构建一个简单的线性回归模型来比较它们的体验。
37 7
|
16天前
|
Python
探索Python中的装饰器:从入门到实践
【8月更文挑战第4天】在Python的世界中,装饰器是一把双刃剑,它既能美化代码,又能提升效率。本文将带你一探究竟,通过实例学习如何定义、使用以及深入理解装饰器背后的原理。我们将一起揭开这层神秘的面纱,让装饰器成为你编程工具箱中的又一利器。
31 9
|
13天前
|
Python
【Leetcode刷题Python】剑指 Offer 30. 包含min函数的栈
本文提供了实现一个包含min函数的栈的Python代码,确保min、push和pop操作的时间复杂度为O(1)。
12 4
|
16天前
|
测试技术 开发者 Python
揭秘Python中的装饰器:从入门到精通
【8月更文挑战第4天】装饰器,在Python中是一块神奇的“画布”,它允许开发者在不修改原有函数代码的情况下增加额外的功能。本文将通过实际的代码示例,带你一探究竟,从基础使用到高级技巧,逐步揭开装饰器的神秘面纱。