python:lambda、filter、map、reduce

lambda 为关键字。filter,map,reduce为内置函数。

lambda:实现python中单行最小函数。

g = lambda x: x * 2
#相当于
def g(x):
    return x*2

Map函数

map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。 
举例说明 :
比如我们有一个函数f(x)=x2,要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map()实现如下: 

现在,我们用Python代码实现:

>>> def f(x):
...     return x * x
...
>>> map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
[1, 4, 9, 16, 25, 36, 49, 64, 81]

Reduce函数

reduce把一个函数作用在一个序列[x1, x2, x3…]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:  

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

  比方说对一个序列求和,就可以用reduce实现:

>>> def add(x, y):
...     return x + y
...
>>> reduce(add, [1, 3, 5, 7, 9])
25

Filter函数

Python内建的filter()函数用于过滤序列。和map()类似,filter()也接收一个函数和一个序列。和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。

True保留,False丢弃 
例如,在一个list中,删掉偶数,只保留奇数,可以这么写:

def is_odd(n):
    return n % 2 == 1

filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])

# 结果: [1, 5, 9, 15]

  可见用filter()这个高阶函数,关键在于正确实现一个“筛选”函数。

原文地址:https://www.cnblogs.com/tianqizhi/p/9337881.html

时间: 2024-11-10 10:54:23

python:lambda、filter、map、reduce的相关文章

python 内建函数 filter,map和reduce

python 内建函数 filter,map和reduce, 三个函数比较类似,都是应用于序列的内置函数,常见的序列包括list.tuple.str等.而且三个函数都可以和lambda表达式结合使用.下面分别介绍. 1.filter filter(bool_func,seq):此函数的功能类似过滤器.调用一个布尔函数bool_func来迭代遍历每个seq中的元素:返回一个使bool_seq返回值为true的元素的序列. 例如 : 从[1,2,3,4,5,6,7,8,9]序列中获取被3整除的序列

filter,map,reduce三个数组高阶函数的使用

filter ,map ,reduce三个高阶函数的使用 普通方法解决数据问题 const nums1= [10,20,111,222,444,40,50] // 需求1.取出小于100的数字 // 常规思想,用一个数组保存取出的数字,遍历里面的项,小于100的追加进新数组 let newNums = [] for(let n of nums1){ if(n<100){ newNums.push(n) } } console.log(newNums) // 需求2.再将所有小于100的数字进行转

Python 函数式编程--高阶函数Map、Reduce、Filter、Sorted

1.1   高阶函数 变量可指向函数 >>> abs(-10) 10 >>> x = abs    --x指向abs函数 >>> x(-1)      --直接调用x 1 调用abs和调用x完全相同. 函数名也是变量 >>> abs = 10 >>> abs(-10) Traceback (most recent call last): File "<stdin>", line 1,

1、lambda是什么?及filter,map,reduce

举个例子如下: 1 func=lambda x:x+1 2 print(func(1)) 3 #2 4 print(func(2)) 5 #3 6 7 #以上lambda等同于以下函数 8 def func(x): 9 return(x+1) 可以这样认为,lambda作为一个表达式,定义了一个匿名函数,上例的代码x为入口参数,x+1为函数体.在这里lambda简化了函数定义的书写形式.是代码更为简洁,但是使用函数的定义方式更为直观,易理解. Python中,也有几个定义好的全局函数方便使用的,

python:数组/列表(remove()函数、append()函数、sort()函数、reverse()函数)

排序: 1:整理顺序 #冒泡 lista = [5,7,11,19,99,63,3,9,1] list = [] while lista != []: number = 0 for i in lista: if number < i: number = i lista.remove(number) list.append(number) print(list) 打印结果: D:\untitled\1\venv\Scripts\python.exe D:/untitled/1/venv/main.

Python:lambda表达式实现求两个变量的最大值

lambda 表达式(又称匿名函数) 作用: 创建一个匿名函数对象 同def 类似,但不提供函数名 格式: lambda [参数1,参数2,.....]: 表达式(默认只能写一个) 说明: 1.lambda 只是一个表达式,它用来创建一个函数对象 2.当lambda表达式调用时,先执行冒号(:)后的表达式,并返回表达式的结果的引用关系 3.lambda 表达式创建的函数只能包含一条表达式 4.lambda 比函数简单且可以随时创建和销毁,有利于减少程序的偶合度 #方法1 def mymax(x,

python中filter、map、reduce的区别

python中有一些非常有趣的函数,今天也来总结一下,不过该类的网上资料也相当多,也没多少干货,只是习惯性将一些容易遗忘的功能进行整理. lambda 为关键字.filter,map,reduce为内置函数. lambda:实现python中单行最小函数. g = lambda x: x * 2 #相当于 def g(x): return x*2 filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的ite

python中的filter、map、reduce、apply用法总结

参考链接:https://blog.csdn.net/qq_32618817/article/details/80633848 这几个函数在平时使用时不能立即想起来,而且它们之间区别不清,借该文做个总结. OUTLINEfiltermapreduceapply总结filter功能: filter的功能是过滤掉序列中不符合函数条件的元素,当序列中要删减的元素可以用某些函数描述时,就应该想起filter函数. 调用: filter(function,sequence),function可以是匿名函数

十一、python沉淀之路--map函数、filter函数、reduce函数、匿名函数、内置函数

一.map函数 1.自定义函数,实现类似于map函数的功能 1 num_l = [1,3,4,5,6,9] 2 def power(n): 3 return n ** 2 4 def map_test(func,array): 5 li0 = [] 6 for i in array: 7 p = func(i) 8 li0.append(p) 9 return li0 10 11 f = map_test(power,num_l) 运用自己定义的函数来计算 12 print(f) 13 f =