2019独角兽企业重金招聘Python工程师标准>>>

1、filter(function, sequence)

对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回

例如:

>>> def f(x): return x % 2 != 0 and x % 3 != 0
>>> filter(f, range(2, 25))
[5, 7, 11, 13, 17, 19, 23]
>>> def f(x): return x != 'a'
>>> filter(f, "abcdef")
'bcdef'

2、map(function, sequence)

对sequence中的item依次执行function(item),见执行结果组成一个List返回

例如:

>>> def cube(x): return x*x*x
>>> map(cube, range(1, 11))
[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
>>> def cube(x) : return x + x
...
>>> map(cube , "abcde")
['aa', 'bb', 'cc', 'dd', 'ee']

另外map也支持多个sequence,这就要求function也支持相应数量的参数输入

例如:

>>> def add(x, y): return x+y
>>> map(add, range(8), range(8))
[0, 2, 4, 6, 8, 10, 12, 14]

3、reduce(function, sequence, starting_value)

对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用,例如可以用来对List求和

例如:

>>> def add(x,y): return x + y
>>> reduce(add, range(1, 11))
55 (注:1+2+3+4+5+6+7+8+9+10)
>>> reduce(add, range(1, 11), 20)
75 (注:1+2+3+4+5+6+7+8+9+10+20)

4、lambda

这是Python支持一种有趣的语法,它允许你快速定义单行的最小函数,类似与C语言中的宏,这些叫做lambda的函数,是从LISP借用来的,可以用在任何需要函数的地方

例如:

>>> g = lambda x: x * 2
>>> g(3)
6
>>> (lambda x: x * 2)(3)
6

lambda表达式返回一个函数对象

例如:

func = lambda x,y:x+y

func相当于下面这个函数:

def func(x,y):return x+y

注意:def是语句而lambda是表达式,下面这种情况下就只能用lambda而不能用def

[(lambda x:x*x)(x) for x in range(1,11)]

map,reduce,filter中的function都可以用lambda表达式来生成!

map(function,sequence)

把sequence中的值当参数逐个传给function,返回一个包含函数执行结果的list。

如果function有两个参数,即map(function,sequence1,sequence2)。

例子:

求1*1,2*2,3*3,4*4

map(lambda x:x*x,range(1,5))

返回值是[1,4,9,16]

reduce(function,sequence)

function接收的参数个数只能为2

先把sequence中第一个值和第二个值当参数传给function,再把function的返回值和第三个值当参数传给

function,然后只返回一个结果。

例子:

求1到10的累加

reduce(lambda x,y:x+y,range(1,11))

返回值是55。

filter(function,sequence)

function的返回值只能是True或False

把sequence中的值逐个当参数传给function,如果function(x)的返回值是True,就把x加到filter的返回值里面。一般来说filter的返回值是list,特殊情况如sequence是string或tuple,则返回值按照sequence的类型。

例子:

找出1到10之间的奇数

filter(lambda x:x%2!=0,range(1,11))

返回值

[1,3,5,7,9]

转载于:https://my.oschina.net/u/1020238/blog/486645

Python内置函数filter(),map(),reduce(),lambda相关推荐

  1. Python内置函数filter, map, reduce

    filter.map.reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是Python列表方法的三架马车. 1. filter函数的功能相当 ...

  2. Python内置函数filter()和匿名函数lambda解析

    一.内置函数filter filter()函数是 Python 内置的一个高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回由符合条件迭代器 ...

  3. 自定义生成器函数模拟Python内置函数filter()

    祝"Python小屋"全体朋友新年快乐,身体健康,万事如意! ================== 作为Python函数式编程的三大巨头之一,内置函数filter()的地位是非常重 ...

  4. python内置函数之map函数的水桶效应------计算几个列表中相同位置的数据的和

    与内置函数zip()都是水桶效应 lst1 = [1, 3, 5, 7] lst2 = [2, 4, 6, 8, 10] m = map(lambda x, y, z: x + y+ z, lst1, ...

  5. Python内置函数zip map filter的使用

    并行遍历zip zip会取得一个或多个序理为参数,然后返回元组的列表,将这些序列中的并排的元素配成对. L1=[1,2,3,4] L2=[5,6,7,8] L3=zip(L1,L2) print(L3 ...

  6. Python 内置函数 filter()

    假设出现异常收到一个10万条类脏数据,类似底下: information = [158804023652,'evan','互联网行业','阿里巴巴',15625445635,15884236525.. ...

  7. python filter内置函数_python 内置函数filter

    python 内置函数filter class filter(object): """ filter(function or None, iterable) --> ...

  8. python filter函数_python 内置函数filter

    python 内置函数filter class filter(object): """ filter(function or None, iterable) --> ...

  9. python内置函数boolsum_Python - 内置函数

    Python - 内置函数 filter filter(处理逻辑, 可遍历对象)遍历序列中的每个元素,判断每个元素的布尔值为True则保留元素. 用法:返回执行结果为TRUE的入参(入参是列表字符元组 ...

  10. [转载] Python 内置函数 lambda、filter、map、reduce

    参考链接: Python lambda (匿名函数) | filter, map, reduce Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读. 下面对 Python ...

最新文章

  1. Sisyphus.js的使用
  2. Nginx反向代理Tomcat的配置方法
  3. [原创] Matlab 指派问题模型代码
  4. Mtk Android 打包解包*.img
  5. fpga供电电压偏低会怎样_[走近FPGA]之开发板介绍篇
  6. python 进度条_6种酷炫Python运行进度条
  7. 两个表的笛卡尔积sql语句,有相同列需区分
  8. python 微信小程序制作教程_微信小程序从零开始开发步骤(一)
  9. 阿里云备案服务号是什么怎么用?
  10. littlevgl教程 Linux,正点原子-手把手教你学LittlevGL
  11. 领导和同事嫌弃你的6个征兆,离失业不远了
  12. linux rescue 硬盘,linux rescue
  13. 【屏幕灯】MI电脑显示器灯条用户手册
  14. Android Studio 高德获取经纬度,定位
  15. my ReadBook_baozhuangxue / baozhuanggailun / 273154301
  16. 微信开发者工具无法选择预览和真机调试_小程序开发 第二篇:使用微信小程序开发者工具、wepy框架初始化项目...
  17. css如何选择同一个class下的第一个div?
  18. Turtle 模块基础详解-画直线
  19. qt开发是使用QT creator 还是用VS+qt?
  20. (第六天)学习Python的元组,字典,集合,公共操作

热门文章

  1. 提交不了_志愿提交不了,不一定是系统问题。为了成功填报,建议试试这7步...
  2. github进不去_app.gitbook.com进不去,一直卡着怎么回事
  3. 国内车载信息安全产业联盟成立
  4. SpringBoot的搭建
  5. AC自动机1030 [JSOI2007]文本生成器
  6. 新年快乐@2008!
  7. 下午,无心编程,读小诗...
  8. 典型信息化案例点评(2)
  9. 蓝桥杯 后缀字符串 map
  10. UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xae in position 53: illegal multibyte sequence