map ) )函数遍历序列,并操纵序列中的每个元素,最终获取新序列。
也就是说,map ) )接受函数fun和一个或多个序列list,并通过使函数fun作用于list的每个元素来获得新的迭代程序(Python2是列表)并返回。
语法:
如果map (函数,iterable,) function函数,iterable中有多个序列,则function参数也对应于有多个iterable (一个或多个序列)
示例:
一个参数的函数
efmap_test_1(x ) :
2个返回
#两个参数的函数
defmap_test_2(x,y ) :
return x y当量:对于单个参数的函数#单个参数的函数
efmap_test_1(x ) :
2个返回
list _1=[ 1,2,3,4,5,6 ]
list(map(map_test_1,list_1) ) 9501.163.com) )。
使用lambda函数重写:
list(map ) lambdax:x2,list_1) ) ) 9502.163.com) ) ) ) ) ) )。
(对于两个参数的函数)两个参数的函数
defmap_test_2(x,y ) :
返回x y
list _1=[ 1,2,3,4,5,6 ]
list _2=[ 2,3,4,5,6,7 ]
list(map(map_test_2,list_1,list_2) ) 9503.163.com) ) ) ) ) ) )。
使用lambda函数重写:
list(map ) lambdax,y:x y,list_1,list_2) ) 9504.163.com) ) ) )。
如果两个序列的长度不匹配,则结果以两个序列中的最短长度为准list(map(lambdax,y : x*y,[ 1,2,3 ],[ 6,7,8,9,10 ] )
list(map ) lambdax,y : x*y,[ 1,2,3,4,5,6 ],[ 6,7 ] ) 9505.163.com) )
滤波器()函数
过滤序列中的元素,最终获取满足条件的序列
也就是说,filter ()函数可以过滤数组,过滤不符合条件的元素,返回迭代器对象(Python2为列表),然后使用list )将其转换为列表。
语法:
filter(function,iterable ) function :函数iterable (函数函数)序列,序列中的每个元素都作为参数传递给函数进行确定,返回True或False,并将最后返回True的元素作为迭代器对
示例:
deffilter_test(x ) :
返回x %2==0
list _1=[ 1,2,3,4,5,6 ]
list_1 (过滤器(filter _ test,list_1) ) 9506.163.com () ) ) ) ) )。
使用lambda函数重写:
list_1 (过滤器(lambdax : x %2==0,list_1) ) 9507.163.com) ) ) ) ) )。
reduce ()函数
对序列中的所有元素执行累计操作
也就是说,reduce (函数为
数据集合的所有数据进行操作:用传给 reduce 中的函数 function(必须有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果在与第三个数据用 function 函数运算,最后得到一个结果。语法:
reduce(function, iterable[, initializer])function :函数,有两个参数iterable : 可迭代对象initializer : 可选,初始参数举例:
from functools import reduce def add(x, y): return x + y def mulit(x, y): return x * y当 function :函数,有两个参数iterable : 可迭代对象list_1=[1,2,3,4,5,6] reduce(add,list_1)当利用lambda函数时:
reduce(lambda x,y:x+y,[1, 2, 3, 4, 5,6], 10)当 function :函数,有两个参数iterable : 可迭代对象def mulit(x, y): return x * y reduce(mulit, [1, 2, 3, 4, 5])
当利用lambda函数时:
reduce(lambda x,y:x*y,[1, 2, 3, 4, 5])当 function :函数,有两个参数iterable : 可迭代对象,initializer : 可选,初始参数def mulit(x, y): return x * y reduce(mulit, [1, 2, 3, 4, 5], 10)答:使用lambda函数时:
reduce(lambda x,y:x*y,[1, 2, 3, 4, 5],10)总结:
当遍历序列,对序列中每个元素进行操作,并得出新列表时,使用map函数
当对于序列中的元素进行筛选,最终获取符合条件的序列,使用filter函数
当对于序列内所有元素进行累计操作,使用reduce函数。
lambda函数基本用法:lambda函数闲谈
#python#
#我要上头条#