前言:
现时朋友们对“mappythonlambda”都比较关心,小伙伴们都需要剖析一些“mappythonlambda”的相关资讯。那么小编也在网络上汇集了一些有关“mappythonlambda””的相关内容,希望咱们能喜欢,小伙伴们一起来学习一下吧!map()函数
遍历序列,对序列中每个元素进行操作,最终获取新的序列。
也就是说:map()接收一个函数fun 和一个或多个序列 list,并通过把函数fun 此作用在 list 的每个元素上,得到一个新的迭代器(Python2是列表) 并返回。
语法:
map(function, iterable, ...)
function:函数,如果iterable有多个序列,则function的参数也对应有多个
iterable:一个或多个序列
举例:
#一个参数的函数def map_test_1(x): return x+2#两个参数的函数def map_test_2(x,y): return x+y当:一个参数的函数时
#一个参数的函数def map_test_1(x): return x+2list_1=[1,2,3,4,5,6]list(map(map_test_1,list_1))
利用lambda函数进行改写:
list(map(lambda x:x+2,list_1))
当:两个参数的函数时
#两个参数的函数def map_test_2(x,y): return x+ylist_1=[1,2,3,4,5,6]list_2=[2,3,4,5,6,7]list(map(map_test_2,list_1,list_2))
利用lambda函数进行改写:
list(map(lambda x,y:x+y,list_1,list_2))当2个序列长度不一致时,结果以2个序列中的最短长度为准
list(map(lambda x,y : x*y, [1,2,3],[6,7,8,9,10]))list(map(lambda x,y : x*y, [1,2,3,4,5,6],[6,7]))filter()函数
对于序列中的元素进行筛选,最终获取符合条件的序列
也就是说:filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回迭代器对象(Python2是列表),可以使用list()转换为列表。
语法:
filter(function, iterable)
function:函数
iterable:序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到迭代器对象中。
举例:
def filter_test(x): return x%2==0list_1=[1,2,3,4,5,6]list(filter(filter_test,list_1))
利用lambda函数进行改写:
list(filter(lambda x:x%2==0,list_1))reduce()函数
对于序列内所有元素进行累计操作
也就是说:reduce()函数对一个数据集合的所有数据进行操作:用传给 reduce 中的函数 function(必须有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果在与第三个数据用 function 函数运算,最后得到一个结果。
语法:
reduce(function, iterable[, initializer])
function :函数,有两个参数
iterable : 可迭代对象
initializer : 可选,初始参数
举例:
from functools import reducedef add(x, y): return x + ydef 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])当 function :函数,有两个参数
iterable : 可迭代对象
initializer : 可选,初始参数
reduce(add, [1, 2, 3, 4, 5,6], 10)
当利用lambda函数时:
reduce(lambda x,y:x+y,[1, 2, 3, 4, 5,6], 10)当 function :函数,有两个参数
iterable : 可迭代对象
def mulit(x, y): return x * yreduce(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 * yreduce(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#
#我要上头条#
标签: #mappythonlambda