16python的map函数,filter函数,reduce函数

map

num_l = [1,6,8,9]
def map_test(func,array):
    ret = []
    for i in array:
        res = func(i)
        ret.append(res)
    return ret
def jia(x):
    return x+1

#内置函数
print(map_test(lambda  x:x+1,num_l))

print(map_test(jia,num_l))

#只能迭代一次
# res = map(lambda  x:x+1,num_l)
# for i in res:
#     print(i)
# print(list(res))

filter

#filter函数
movie_people=[‘alex_sb‘,‘wupeiqi_sb‘,‘linhaifeng‘,‘yuanhao_sb‘]
print(filter(lambda n:not n.endswith(‘sb‘),movie_people))

res=filter(lambda n:not n.endswith(‘sb‘),movie_people)
print(list(res))

print(list(filter(lambda n:not n.endswith(‘sb‘),movie_people)))

reduce

# def reduce_test(func,array):
#     res=array.pop(0)
#     for num in array:
#         res=func(res,num)
#     return res
#
# print(reduce_test(lambda x,y:x*y,num_l))

num_l=[1,2,3,100]
def reduce_test(func,array,init=None):
    if init is None:
        res=array.pop(0)
    else:
        res=init
    for num in array:
        res=func(res,num)
    return res

print(reduce_test(lambda x,y:x*y,num_l,100))

原文地址:https://www.cnblogs.com/raitorei/p/11802859.html

时间: 2024-11-09 01:00:28

16python的map函数,filter函数,reduce函数的相关文章

使用python实现内置map,filter,reduce函数

map函数 # -*- coding: cp936 -*- def myselfmap(f,*args):     def urgymap(f,args):         if args==[]:             return []         else:             return [f(args[0])]+urgymap(f,args[1:])     if list(args)[0]==[]:             #*args有多个参数被传递时返回tuple  

Python的map、filter、reduce函数

python提供了map.filter.reduce三个函数,用于对一整组输入进行统一处理. map:映射,对一整组输入中的每个值进行一个函数计算,输出每个值对应的结果. filter:过滤,输入的函数必须有一个返回值True或者False,filter只会把经过函数处理后结果是True的值输出. reduce:归纳,会对所有输入运用一个函数,返回一个输出. 例子: def even(x): return x%2==True map(even,range(4)) =>[True,False,Tr

python中的map、filter、reduce函数

三个函数比较类似,都是应用于序列的内置函数.常见的序列包括list.tuple.str. 1.map函数 map函数会根据提供的函数对指定序列做映射. map函数的定义: map(function, sequence[, sequence, ...]) -> list 通过定义可以看到,这个函数的第一个参数是一个函数,剩下的参数是一个或多个序列,返回值是一个集合. function可以理解为是一个一对一或多对一函数,map的作用是以参数序列中的每一个元素调用function函数,返回包含每次fu

map、filter、reduce函数

map #函数需要?个参数 m1 = map(lambda x:x*x,[1,2,3]) print(list(m1)) #函数需要两个参数 m2 = map(lambda x,y:x+y,[1,2,3],[4,5,6]) print(list(m2)) def f1(x,y): return (x,y) l1 = [0,1,2,3,4,5,6] l2 = ['Sun','M','T','W','T','F','S'] l3 = map(f1,l1,l2) print(list(l3)) 输出

python学习-day16:函数作用域、匿名函数、函数式编程、map、filter、reduce函数、内置函数r

一.作用域 作用域在定义函数时就已经固定住了,不会随着调用位置的改变而改变 二.匿名函数 lambda:正常和其他函数进行配合使用.正常无需把匿名函数赋值给一个变量. f=lambda x:x*x print(f) #打印指向该函数的内存地址 print(f(5)) #内存地址(5) 调用运行该函数 def cala(x): y=x*x return y z=cala(5) print(z) >>> <function <lambda> at 0x10137d950&g

Swift高阶函数:Map,Filter,Reduce

闭包介绍 Swift一大特性便是使用简洁的头等函数/闭包语法代替了复杂的blocks语法.希望我们在Swift中不再需要像fuckingblocksyntax中所描述的语法.(译者注:头等函数-即可将函数当作参数传递给其他的函数,或从其他的函数里返回出值,并且可以将他们设定为变量,或者将他们存储在数据结构中) 闭包是自包含的blocks,它能在代码中传递和使用. 本文我们将重点介绍匿名定义的闭包(如:定义成内联的且不具名)也称匿名闭包.我们能够将其作为参数传递给其他函数/方法或者将其作为返回值.

Swift函数编程之Map、Filter、Reduce

在Swift语言中使用Map.Filter.Reduce对Array.Dictionary等集合类型(collection type)进行操作可能对一部分人来说还不是那么的习惯.对于没有接触过函数式编程的开发者来说,对集合类型中的数据进行处理的时候第一反应可能就是采用for in遍历.本文将介绍一些Swift中可以采用的新方法. Map Map函数会遍历集合类型并对其中的每一个元素进行同一种的操作.Map的返回值是一个所得结果的数组.例如:我们要对一个数组里面的数据进行平方操作,常见的代码如下:

C#数组的Map、Filter、Reduce等价方法

在Javascript.Python等语言里,Map.Filter和Reduce是数组的常用方法,可以让你在实现一些数组操作时告别循环,具有很高的实用价值.它们三个的意义大家应该都清楚,有一个十分形象的解释如下: 然而,支持lambda表达式的C#也有类似的方法,但不是这样命名的.实现IEnumerable接口的类(如List.HashSet.继承Array的类等)都有如下等价方法: “Map” => Select方法 “Filter” => Where方法 “Reduce” => Ag

Python 函数之lambda、map、filter和reduce

1.lambda函数 lambda()是Python里的匿名函数,其语法如下: lambda [arg1[, arg2, ... argN]]: expression 学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: # 普通条件语句 if 1 == 1: name = 'evescn' else: name = 'gm' # 三元运算 name = 'evescn' if 1 == 1 else 'gm' 对于简单的函数,也存在一种简便的表示方式,即:lambda

Python 高阶函数map(),filter(),reduce()

map()函数,接收两个参数,一个是函数,一个是序列,map()把传入的函数依次作用于序列的每个元素,并把结果作为新的序列返回: aa = [1, 2, 3, 4, 5] print("map-result = ", list(map(lambda a: a * a, aa))) #map-result = [1, 4, 9, 16, 25] filter()函数,接收两个参数,一个是函数,一个是序列,filter()把传入的函数依次作用于每个元素,根据返回值是True还是False决