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 ...
随机推荐
- Centos7.6 双网卡,修改默认路由
centos修改默认路由 需求:服务器有两个网卡,一个是内网网卡,一个是外网网卡,但是默认的路由是内网: route -n 列出所有路由: 删除默认的路由: route del default gw ...
- OSI参考模型---网络基础篇(1)
什么是网络 网络就是将分布在不同地理位置,具有独立功能的终端(一切联网的设备都叫终端:例如电脑,手机,智能家电等等联网的设备),通过通信线路(双绞线.光纤.电话线等等)和通信设备(例如:交换机.路由器 ...
- Junit4学习使用和总结
Junit4学习使用和总结 部分资料来源于网络 编辑于:20190710 一.Junit注解理解 1.@RunWith 首先要分清几个概念:测试方法.测试类.测试集.测试运行器.其中测试方法就是用@T ...
- iOS 国际化 (国际化文字内容不改变,app名字国际化,一键切换语言)
首先我们要分三个步骤讲解怎么一步步实现app名字国际化.内容国际化.一键切换国际化的: 一.app设置内容或者可以说是app名字或者可以说Info.Plist中的东西国际化 app名字国际化 1. ...
- python3.7 AES.MODE_ECB(128位) pkcs5padding 加密算法
用惯用的写法总报TypeEerror错误,经过调试,总算成功啦,直接上代码 TypeError("Object type %s cannot be passed to C code" ...
- jquery Easy UI Datagrid(数据网格)学习心德,附API
第一步,引入主要的css样式和js文件 <meta http-equiv="Content-Type" content="text/html; charset=ut ...
- 哈工大计算机网络Week0-概述
目录 L01什么是计算机网络 计算机网络 Internet L02什么是网络协议? 定义 内容 三要素 L03计算机网络结构 网络边缘 接入网络 数字用户线路DSL 电缆网络 无线接入网络 网络核心( ...
- Java web导出word,文件名为中文,%E6%9D%90%E8%B4%A8%E5%8D%95乱码
因为文件名为中文,导出时会有乱码问题 原代码: String fileName = "文件名.doc"; response.setHeader("Content-Disp ...
- C语言指针专题——序
看到好多的C语言初学者学到指针时,都觉得指针怎么那么难啊!我也想起了我当时学习指针时遇到的困难,确实很难!到底是教程写的不好呢,还是老师教的不好呢?我觉得都有. 网上搜索指针讲解的资料很多,我也看了不 ...
- Java 客户端负载均衡
客户端侧负载均衡 在下图中,负载均衡能力算法是由内容中心提供,内容中心相对于用户中心来说,是用户中心的客户端,所以又被称为客户端侧负载均衡 自定义实现Client Random负载均衡 获取所有的服务 ...