Python学习第42课-map()函数

【每天几分钟,从零入门python编程的世界!】

今天我们学习另一个比较常用的内置函数map()。

描述

map()会根据提供的函数对指定迭代器做映射。

它有两个参数,第一个参数是一个函数,第二个参数是一个迭代器。

它是把第二个参数中的每一个元素依次传入第一个参数中进行处理,然后将处理后的结果依次放入一个新的迭代器并返回这个迭代器。

语法

map(function,iterable,...)

即map(函数,迭代器...)

参数

function:函数

iterable:一个或多个迭代器

返回值

Python2返回列表

Python3返回迭代器,我们现在学的是Python3,以Python3为准。


实例1:

#定义map()函数的第一个参数

def square(x):

return x**2

new_list1=list(map(square,[1,2,3,4,5]))

#使用lambda表达式定义匿名函数

new_list2=list(map(lambda x:x**2,[1,2,3,4,5]))

print(new_list1)

print(new_list2)

#运行结果:

[1,2,9,16,25]

[1,2,9,16,25]


实例2:

#map()函数第一个参数后有2个迭代器

new_list3=list(map(lambda x,y:x+y,[1,3,5,7,9],[2,4,6,8,10]))

print(new_list3)

#运行结果:

[3,7,11,15,19]


实例3:

假设有一张清单,上面有3个不同地区的人群的信贷信用分,每一个地区的人群信用分组成一个列表,计算每一个地区人群的平均信用分并形成新的列表。

score_cards=[[1,2,3,4,5],

[3,4,5,6,7],

[5,6,7,8,9]]

#以上代码换行是没问题的

def mean(score_list):

return sum(score_list)/len(score_list)

#overage_score=list(map(mean,score_cards))

#使用lambda函数

overage_score=list(lambda x:sum(x)/len(x),score_cards)

print(overage_score)

#运行结果:

[3,5,7]

tips:我们知道lambda表达式也叫lambda函数,那么就可以用lambda函数来作为map的第一个参数。

我是时问新,欢迎关注我。跟我一起从零开始学习Python,每天花一点时间,开启python编程新世界的大门,领略新的风光,让人生多一种可能!

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();