Python基础总结之认识lambda函数、map函数、filter() 函数。第十二天开始(新手可相互督促)
今天周日,白天在学习,晚上更新一些笔记,希望对大家能更好的理解、学习python~
lambda函数,也就是大家说的匿名函数。它没有具体的名称,也可以叫做一句话函数,我觉得也不过分,大家看下代码,来体会下一句话函数(lambda)。
它的格式:
关键字lambda 后面是参数,可以是一个或多个。紧接冒号,然后后面是表达式。
c = 5
a = lambda c,a = 12:a+c #格式:关键字lambda 后面是参数,可以是一个或多个。紧接冒号,然后后面是表达式。
print(a(c)) #调用lamabda匿名函数,然后传入变量 c

怎么样,整个lambda匿名函数,从定义函数,到参数再到表达式,是在一行代码就可以做完的事儿,所以是不是有些时候比def定义函数要方便的多。
c = 5
def a(c,a=12):
a += c
print(a)
a(c)
自己可以对比def和lambda两种形式,有时候简单的表达式,完全可以使用匿名函数lambda函数,在功能比较复杂的时候可以继续使用def定义函数哦~~
接下来我们再看下map函数的使用,man函数有两个参数,第一个参数是:函数,第二个 参数是:可迭代的数据对象。map可以使,可迭代的数据对象中的元素,每个元素,同时做相同的事情,我们看下代码:
a = [1,2,3,4]
def add(a):
return a + 100 #让列表中的每个元素加100,然后返回新的列表 print(list(map(add,a))) #注意:map函数,在Python 3.几的版本 返回迭代器,所以需要在前面加list()函数进行转换

重点说明:
1、map()中的参数,函数可以是自定义函数,也可以是内置函数。
2、第二个函数需要是可迭代的数据,比如列表,元组,字典。
3、map()这个函数的作用是,将其它函数作为参数,让可迭代的参数,数据中的每个元素,在其它函数内执行一遍。
4、map函数,在Python 3.几的版本 返回迭代器,所以需要在前面加list()函数进行转换,如果你是其他类型,就进行相应的转换。
print(list(map(lambda a:a+100,a)))

上面的小案例,我们也可以用map函数和lambda函数一起写。是不是更容易理解了呢?
最后再认识一个:filter() 函数,它可以用于过滤序列,过滤掉不符合条件的元素,把符号条件的元素组合新的列表返回给你。filter()函数也有两个参数,第一个参数:是函数,第二个参数:是序列;将序列中的每个元素作为参数传入给函数进行过滤判断。将返回True的元素值放到新的列表中。
#过滤出列表中大于3的元素
a = [1,2,3,4,5] def add(a):
return a>3 #将每个元素进行过滤判断
print(list(filter(add,a))) #将序列中的每个元素作为参数传入给函数进行过滤判断。将返回True的元素值放到新的列表中。

同样我们也可以结合lambda()函数:
filter()函数返回的也是迭代器,所以需要在前面加list()函数进行转换,如果你是其他类型,就进行相应的转换。
a = [1, 2, 3, 4, 5]
print(list(filter(lambda b:b>3,a)))

hhh。。。。。。。周末要过去了,洗澡睡觉晚安~~
不懂的朋友可以多敲几遍代码,或者留言评论哦~~~~
Python基础总结之认识lambda函数、map函数、filter() 函数。第十二天开始(新手可相互督促)的更多相关文章
- Python基础总结之第九天开始【python之OS模块对目录的操作、以及操作文件】(新手可相互督促)
年薪20万的梦想... python对文件.目录能做什么?或者说我们需要python替我们做什么?最经常的操作就是对文件的:打开.关闭.读取.写入.修改.保存等等对目录的操作,无非就是 ...
- [python基础知识]python内置函数map/reduce/filter
python内置函数map/reduce/filter 这三个函数用的顺手了,很cool. filter()函数:filter函数相当于过滤,调用一个bool_func(只返回bool类型数据的方法) ...
- 《python基础教程(第二版)》学习笔记 函数(第6章)
<python基础教程(第二版)>学习笔记 函数(第6章) 创建函数:def function_name(params): block return values 记录函数:def f ...
- python--函数式编程 (高阶函数(map , reduce ,filter,sorted),匿名函数(lambda))
1.1函数式编程 面向过程编程:我们通过把大段代码拆成函数,通过一层一层的函数,可以把复杂的任务分解成简单的任务,这种一步一步的分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. ...
- lambda 、 map 、filter 、reduce 及 reversed 常用函数
lambda 匿名函数 什么是lambda? lambda 操作符(或 lambda 函数)通常用来创建小巧的,一次性的匿名函数对象.它的基本语法如下: lambda arguments : expr ...
- Python中的lambda、map和filter
翻译.修改自https://medium.com/@happymishra66/lambda-map-and-filter-in-python-4935f248593 1.lambda lambda运 ...
- Python高阶函数_map/reduce/filter函数
本篇将开始介绍python高阶函数map/reduce/filter的用法,更多内容请参考:Python学习指南 map/reduce Python内建了map()和reduce()函数. 如果你读过 ...
- 辅助函数和高阶函数 map、filter、reduce
辅助函数和高阶函数 map.filter.reduce: 一.辅助函数:(1-1)响应式函数 (数组更新检测): push() pop() shift() unshift() ...
- Python 第三篇(上):python文件基础操作、json模块、lambda、map、filter、reduce和函数位置参数
python一切皆对象,linux一切皆文件,python操作文件是很常见的O/I操作,其内置来open()函数可以完成文件的基本操作: 一:使用内置open()函数操作文件,基本语法如下: with ...
随机推荐
- 用ASP.NET Core重写了一款网络考试培训的免费软件
在IT圈混迹了近十年,今已正当而立之年却仍一事无成,心中倍感惶恐惭愧.面对竟争如此激列的环境,该如何应对?却也知不能让自已闲着,得转起来,动起来.于是,便想着利用最新技术栈将自已原来的收费产品重写一次 ...
- kafka源码分析(二)Metadata的数据结构与读取、更新策略
一.基本思路 异步发送的基本思路就是:send的时候,KafkaProducer把消息放到本地的消息队列RecordAccumulator,然后一个后台线程Sender不断循环,把消息发给Kafka集 ...
- HDU 1811:Rank of Tetris(并查集+拓扑排序)
http://acm.hdu.edu.cn/showproblem.php?pid=1811 Rank of Tetris Problem Description 自从Lele开发了Rating系 ...
- ConnectionPool实现redis在python中的连接
这篇文章主要介绍了Python与Redis的连接教程,Redis是一个高性能的基于内存的数据库,需要的朋友可以参考下 今天在写zabbix storm job监控脚本的时候用到了python的re ...
- scrapy基础知识之 Scrapy-Redis分布式策略:
Scrapy-Redis分布式策略: 假设有四台电脑:Windows 10.Mac OS X.Ubuntu 16.04.CentOS 7.2,任意一台电脑都可以作为 Master端 或 Slaver端 ...
- MySQL主从、主主、半同步节点架构的的原理及实验总结
一.原理及概念: MySQL 主从复制概念 MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点.MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来 ...
- [POJ2942]Knights of the Round Table(点双+二分图判定——染色法)
建补图,是两个不仇恨的骑士连边,如果有环,则可以凑成一桌和谐的打麻将 不能直接缩点,因为直接缩点求的是连通分量,点双缩点只是把环缩起来 普通缩点 ...
- BI之路学习笔记1--SSIS包的认识和设计
进入了新的公司,开始接触新的方向,内心激动而又兴奋,对于BI以前知道的极少,从今天开始要好好学习了~ BI的概念,功能,强大之处在此先不做赘述,BI之路先要一步一个脚印扎实做起,现在正在看的也是之前好 ...
- 简介SoftICE是Compuware NuMega公司1的产品,是目前公认最好的系统级调试工具
简介SoftICE是Compuware NuMega公司1的产品,是目前公认最好的系统级调试工具
- Android问题解决
1.clean之后R文件消失 clean之后R文件消失是因为布局的XML文件存在错误,无法编译你的资源文件,所以无法自动生成R文件,在Problem.LogCat等界面查看错误的原因,把错误改正即可: ...