Python笔记(十一)_匿名函数与map()、filter()
匿名函数
无需显式定义函数名,和函数过程,使代码更精简的lambda表达式
函数没有命名,不用担心函数名的冲突
冒号前面代表函数的参数,后面表示计算过程
>>>func=lambda x : 2*x+1
>>>func(5)
11
map()
根据提供的函数对指定序列做出相应的映射
它接受两个参数,第一个是函数对象本身,第二个是序列
map将传入的函数依次作用到序列的每个元素,并把结果作为新的迭代器返回
由于结果是一个迭代器,可通过list()函数让它返回一个新的list
例1:将数字转换为字符串
>>>list(map(str,[1,2,3]))
['', '', '']
例2:计算平方
>>>def func(x):
return x*x
>>>list(map(func,[1,2,3]))
[1, 4, 9]
还可以与lambda合用简化代码:
>>>list(map(lambda x : x*x,range(1,4)))
[1, 4, 9]
>>>list(map(lambda x,y : 2*x-y,[1,3,5],[2,4,6]))
[0, 2, 4]
filter()
和map()类似,但不会返回所有的映射值,会过滤掉不符合条件的值
它接受两个参数,第一个是判断函数,第二个是序列
例1:删除序列中的空字符
>>>def not_empty(s):
return s and s.strip()
>>>list(filter(not_empty,['a','','B',None,' ']))
['a', 'B']
例2:求奇数
>>>def odd(x):
return x%2
>>>list(filter(odd,[1,2,3,4,5,6,7,8,9]))
[1, 3, 5, 7, 9]
还可以与lambda合用简化代码:
>>>list(filter(lambda x : x%2,[1,2,3,4,5,6,7,8,9]))
[1, 3, 5, 7, 9]
1-20以内所有能被3整除的数:
>>>list(filter(lambda x: not(x%3),range(1,20)))
[3, 6, 9, 12, 15, 18]
Python笔记(十一)_匿名函数与map()、filter()的更多相关文章
- python中的内置函数lambda map filter reduce
p.p1 { margin: 0; font: 12px "Helvetica Neue" } p.p2 { margin: 0; font: 12px "Helveti ...
- python基础:内置函数zip,map,filter
一.zip zip,就是把俩list,合并到一起,如果想同时循环2个list的时候,可以用zip,会帮你轮流循环两个list 比如: l1=[1,2,3,4,5] l2=['a','b','c','d ...
- day16_函数作用域_匿名函数_函数式编程_map_reduce_filter_(部分)内置函数
20180729 补充部分代码 20180727 上传代码 #!/usr/bin/env python # -*- coding:utf-8 -*- # ***************** ...
- Python练习题-1.使用匿名函数对1~1000求和,代码力求简洁。
Python 练习 标签(空格分隔): Python Python练习题 Python知识点 一.使用匿名函数对1~1000求和,代码力求简洁. 答案: In [1]: from functools ...
- Python:lambda表达式(匿名函数)
lambda表达式: 通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数. 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. 在Python中 ...
- 初学 Python(十三)——匿名函数
初学 Python(十三)--匿名函数 初学 Python,主要整理一些学习到的知识点,这次是匿名函数. # -*- coding:utf-8 -*- #关键字lambda定义的函数都是匿名函数 #做 ...
- 【python笔记】Qt+云函数 实现简单的登录框制作
[python笔记]Qt+云函数 实现简单的登录框制作 备注:前置条件:QtDesigner.pycharm.PyQt5.配置好的云函数(百度的叫函数计算CFC,用来充当一个简陋的服务器,主要是免费) ...
- python笔记4 内置函数,匿名函数.递归函数 面向对象(基础, 组合,继承)
内置函数 eval和exec eval :执行字符串中的代码并将结果返回给执行者,有返回值 exec:执行字符串中的代码,往往用于执行流程语句,没有返回值. s1 = '1+2' s2 = 'prin ...
- Python day10 global关键字、函数递归、匿名函数、map函数的用法详解
1.global关键字 引用全局变量,在局部全局变量改变,也会改变,global相当于指针,将地址指向全局变量的name name='littlepage' def littepage(): glob ...
随机推荐
- 2019牛客暑期多校训练营(第一场) - E - ABBA - 贪心 - dp - 组合
https://ac.nowcoder.com/acm/contest/881/E 从dp的角度来看是比较正常的.无后效性来源于前面只要的合法的方案分配,那么对后面造成的影响就只有A,B的数目. 从贪 ...
- ReplaceAll 特殊字符处理
用到Json与replaceAll Http拦截脚本中经常需要替换,replace虽然不需要处理特殊字符,但是不能匹配多个,ReplaceAll能够使用正则,不过需要处理的转移实在太多 比如,需要替换 ...
- 20180315-Python面向对象编程设计和开发
1.在子类中调用父类的方法 在子类派生出的新方法中,往往需要重用父类的方法,我们有两种实现方式: 方式一:父类名.父类方法() Animal.__init__(self,name) 方式二:super ...
- php中__call与__callstatic()使用
php 5.3 后新增了 __call 与__callStatic 魔法方法. __call 当要调用的方法不存在或权限不足时,会自动调用__call 方法. __callStatic 当调用的静态方 ...
- 233-基于TMS320C6678+XC7K325T的CPCIe开发平台
基于TMS320C6678+XC7K325T的CPCIe开发平台 一.板卡概述 该DSP+FPGA高速信号采集处理板由我公司自主研发,包含一片TI DSP TMS320C6678和一片 ...
- Algorithms4th 1.1.25 欧几里得算法——数学归纳法证明
欧几里得算法的自然语言描述 计算两个非负整数p和q的最大公约数: 若q是0,则最大公约数为p.否则将p除以q得到余数r,p和q的最大公约数即为q和r的最大公约数. 数学归纳法证明 基础步骤: 若q = ...
- Gradle构建SpringBoot并打包可运行的jar配置
使用Gradle构建项目,继承了Ant的灵活和Maven的生命周期管理,不再使用XML作为配置文件格式,采用了DSL格式,使得脚本更加简洁. 构建环境: jdk1.6以上,此处使用1.8 Gradle ...
- ansible笔记(一)--架构图以及工作原理
一.ansible架构图 上图为ansible的基本架构,从上图可以了解到其由以下部分组成: 核心:ansible 核心模块(Core Modules):这些都是ansible自带的模块 扩展模块(C ...
- ThinkPHP import 类库导入 include PHP文件
ThinkPHP 模拟了 Java 的类库导入机制,统一采用 import 方法进行类文件的加载.import 方法是 ThinkPHP 内建的类库和文件导入方法,提供了方便和灵活的文件导入机制,完全 ...
- 第三节 基本数据写入 --------增加&查询
启动mongodb服务 net start mongodb 链接mongodb 进入bin目录 mongo 127.0.0.1:12345 启动连接 show dbs 显示所有的数据库 use ...