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 ...
随机推荐
- 【洛谷p2089】 烤鸡
烤鸡[题目链接] 感觉我超废 关于算法:有很多很多算法吧,但自我感觉最重要的是递归的算法: SOLUTION: 首先忍不住要吐槽这个神仙数据: 嗯???定睛一看,它这数据范围莫不是白瞎了,因为每种配料 ...
- dfs(最长路径)
http://poj.org/problem?id=1154 LETTERS Time Limit: 1000MS Memory Limit: 10000K Total Submissions: ...
- Go语言_并发
并发 Go 将并发结构作为核心语言的一部分提供.本节课程通过一些示例介绍并展示了它们的用法. Go 作者组编写,Go-zh 小组翻译. https://tour.go-zh.org/concurren ...
- 并行开发 1.Parallel
原文:8天玩转并行开发——第一天 Parallel的使用 随着多核时代的到来,并行开发越来越展示出它的强大威力,像我们这样的码农再也不用过多的关注底层线程的实现和手工控制, 要了解并行开发,需要先了解 ...
- 【问题解决方案】关于Python中的语句 ' %matplotlib inline '
跟进小项目#GirlsInAI#-可视化时遇到的语句,之前没有遇到过 在Stack Overflow上看到了一个解释: IPython有一组预定义的"魔术函数",您可以使用命令行样 ...
- XMPP即时通讯协议使用(二)——基于Smack相关操作
package com.test; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator ...
- 基于GPU的图像处理平台
基于GPU的图像处理平台 1. (309)英伟达推Jetson TX1 GPU模块力推人工智能 1.1 产品概述 Jetson TX1 GPU模块,主要针对近年来蓬勃发展的人工智能市场,包括无人机. ...
- Sass函数:数字函数-round()函数
round() 函数可以将一个数四舍五入为一个最接近的整数: >> round(12.3) 12 >> round(12.5) 13 >> round(1.4999 ...
- NotePad++安装 html.css.js智能提示【转】
https://www.cnblogs.com/alirong/archive/2012/04/12/2443971.html
- java使用对象类型作为方法的参数