lambda函数,内置map()函数及filter()函数
8.1 lambda函数
def ds(x):
return 2 * x + 1 ds(5)
---11 g = lambda x : 2 * x + 1
g(5)
---11 def add(x,y):
return x + y add(3,4)
---7 g = lambda x,y : x + y
g(3,4)
---7
常用的内置函数(BIF函数)
list (filter(None,[1,0,False,True]))
---[1, True] #把任何非True的内容给过滤掉了 #利用filter写一个奇数的过滤器
def odd(x):
return x % 2
temp = range(10)
show = filter(odd,temp)
list(show)
---[1,3,5,7,9] list (filter(lambda x : x % 2 , range(10)))
---[1,3,5,7,9] def aaa(x):
return x % 2 == 1
ret = list(filter(aaa, [1, 2, 54, 3, 6, 8, 17, 9]))
print(ret)
---[1, 3, 17, 9]
l = [15, 24, 31, 14]
def func(x):
return x > 20
print(list(filter(func,l))) print(list(filter(lambda x: x > 20, l))) # 比较两者差异
②map() -----映射
list(map(lambda x : x * 2, range(10)))
---[0, 2, 4, 6, 8, 10, 12, 14, 16, 18
l = [1, 2, 3, 4, 5] def pow2(x):
return x*x print(list(map(pow2, l)))
---[1, 4, 9, 16, 25]
l = [1, 2, 3, 4] def func(x):
return x*x
print(list(map(func, l))) print(list(map(lambda x : x*x, l))) # 比较两者差异
# 多个数组进行相加
li = [11, 22, 33]
sl = [1, 2, 3]
new_list = map(lambda a, b: a + b, li, sl)
print(new_list)
---[12, 24, 36] # 这里在py2中结果是这个,在py3中是一个可迭代对象,需要调用list函数
③ reduce()函数
也是存在两个参数,一个函数,一个可迭代序列,但是函数必须接收两个参数。作用是对于序列内所有元素进行累积操作
from functools import reduce # 在py2中不需要从functools中导入,但是在py3中需要,他已经不属于一个内置函数,属于一个高阶函数
lst = [11,22,33]
func2 = reduce(lambda arg1,arg2:arg1+arg2,lst)
print('func2:', func2) ---func2: 66
例题:
# 现有两个元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}] # 方法一
t1 = (('a'), ('b'))
t2 = (('c'), ('d'))
print(list(zip(t1, t2))) # [('a', 'c'), ('b', 'd')]
print(list(map(lambda t: {t[0], t[1]}, zip(t1, t2)))) # [{'a', 'c'}, {'d', 'b'}] # 方法二
print(list([{i,j} for i,j in zip(t1,t2)])) # [{'a', 'c'}, {'d', 'b'}] #方法三
func = lambda t1,t2:[{i,j} for i,j in zip(t1,t2)]
ret = func(t1,t2)
print(ret) # [{'a', 'c'}, {'d', 'b'}]
lambda函数,内置map()函数及filter()函数的更多相关文章
- set、def、lambda、内置函数、文件操作
set : 无序,不重复,可以嵌套 .add (添加元素) .update(接收可迭代对象)---等于批量 添加 .diffrents()两个集合不同差 .sysmmetric difference( ...
- 第三天 函数 三元运算 lambda表达式 内置函数 文件操作
面向过程: 直接一行一行写代码,遇到重复的内容复制黏贴. 不利于代码阅读 代码没有复用 面向对象 将代码块定义为函数,以后直接调用函数 增强了复用性 函数的定义方法 def 函数名(传递参数): 函数 ...
- python学习day11 函数Ⅲ (内置函数与lambda表达式)
函数Ⅲ(内置函数&lambda表达式) 1.函数小高级 函数可以当做变量来使用: def func(): print(123) func_list = [func, func, func] # ...
- Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数
Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数 目录 Pycharm使用技巧(转载) Python第一天 ...
- python 匿名函数&内置函数
匿名函数:为了解决那些功能很简单的需求而设计的一句话函数怎么定义匿名函数: cal = lambda x : x*x # cal是函数名,lambda是定义匿名函数的关键字 冒号前面的额x是参数即函数 ...
- python 函数--内置函数
一.内置函数 内置函数是python自带的一系列常用函数. 二.python3中内置函数 内置功能 abs() delattr() hash() memoryview() set() ...
- Python学习笔记014——迭代工具函数 内置函数enumerate()
1 描述 enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. 2 语法 enumerate(sequ ...
- Python学习(五)函数 —— 内置函数 lambda filter map reduce
Python 内置函数 lambda.filter.map.reduce Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读. 下面对 Python 的 lambda.fil ...
- Python入门之三元表达式\列表推导式\生成器表达式\递归匿名函数\内置函数
本章目录: 一.三元表达式.列表推导式.生成器表达式 二.递归调用和二分法 三.匿名函数 四.内置函数 ================================================ ...
随机推荐
- 搜索提示(search suggest)文献阅读
Learning to Personalize Query Auto-Completion 样本 正例用用户的sug点击,其余是负例 特征 用户历史特征: query历史频次,候选和用户历史输入的ng ...
- hibernate打印sql日志及参数
#log4j.properties log4j.rootLogger=info, CA# ConsoleAppenderlog4j.appender.CA=org.apache.log4j.Conso ...
- Ubuntu截图工具gnome-screenshot使用教程
Ubuntu自带的截图工具非常好用,可以自已设置各种截图的快捷键,下面我们一起来了解一下这个截图工具gnome-screenshot Ubuntu自带的截图工具非常好用,可以自已设置各种截图的快捷 ...
- Facebook TSDB论文Gorilla分析
Facebook TSDB论文Gorilla分析 背景 TSDB时序数据库用于存储时间相关的数据,常用于监控系统的数据存储,分布式的TSDB提供了海量的数据存储能力,如InfluxDB.OpenTSD ...
- [转]Asp.net Core中使用Session
本文转自:http://www.cnblogs.com/sword-successful/p/6243841.html 前言 2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年. ...
- 深入理解vertical-align和line-height的关系
vertical-align的百分比值不是相对于字体大小或者其他什么属性计算的,而是相对于line-height计算的.举个简单的例子,如下CSS代码: { line-height: 30px; ve ...
- IDEA配置 tomcat server
- Java方法命名之“由简入繁”原则
1.访问控制层(Controller 层)中的方法命名方向是简洁明了,向着自然化语言方向靠拢,比如“更新用户”,建议命名为“updateUser”,而非“updateUserById”,实际上我们更新 ...
- 移动web基础
接触retina屏 基础知识(移动Web的基础知识)排版布局(高效的移动Web布局)开发效率终端交互优化 pixel像素基础viewport视图viewport_meta标签viewport_codi ...
- unity工具介绍
MemoryProfiler内存分析工具 行为树 behaviac github 场景动画编辑器 Snapdragon Profiler性能分析工具 VTune性能分析器 protobuf数据交换格式 ...