当前位置: 首页 > Python编程 > Python编程实战技能 > Python编程学习教程 > python中map是什么意思

python中map是什么意思

发布时间:2020年11月22日 03:52:58 来源:环球青藤 点击量:942

【摘要】python中map是什么意思?map函数的原型是map(function, iterable, …),它的返回结果是一个列表。参数function传的是一个函数名,可以是p

python中map是什么意思?

map函数的原型是map(function, iterable, …),它的返回结果是一个列表。

参数function传的是一个函数名,可以是python内置的,也可以是自定义的。

参数iterable传的是一个可以迭代的对象,例如列表,元组,字符串这样的。

这个函数的意思就是将function应用于iterable的每一个元素,结果以列表的形式返回。注意到没有,iterable后面还有省略号,意思就是可以传很多个iterable,如果有额外的iterable参数,并行的从这些参数中取元素,并调用function。如果一个iterable参数比另外的iterable参数要短,将以None扩展该参数元素。还是看例子来理解吧!

a=(1,2,3,4,5)
b=[1,2,3,4,5]
c="zhangkang"
la=map(str,a)
lb=map(str,b)
lc=map(str,c)
print(la)
print(lb)
print(lc)

输出:

['1', '2', '3', '4', '5']
['1', '2', '3', '4', '5']
['z', 'h', 'a', 'n', 'g', 'k', 'a', 'n', 'g']

str()是python的内置函数,这个例子是把列表/元组/字符串的每个元素变成了str类型,然后以列表的形式返回。当然我们也可以传入自定义的函数,看下面的例子。

def mul(x):
    return x*x
n=[1,2,3,4,5]
res=map(mul,n)

输出:[1, 4, 9, 16, 25]

把列表n中的每个元素运行一次mul函数后得到的结果作为最终结果列表的元素。再看下有多个iterable参数的情况。

def add(x,y,z):
    return x+y+z
pst1=[1,2,3]
pst2=[1,2,3]
pst3=[1,2,3]
res=map(add,pst1,pst2,pst3)
print(res)

输出:[3, 6, 9]

并行的从三个列表中各自取出元素然后运行add函数,有人可能会问,如果三个列表长度不一样怎么办,前面已经说了,对于短的那个iterable参数会用None填补。对于上面的例子,如果pst3=[1,2]的话,那么这个程序会报错,因为虽然在运行add函数的时候列表pst3的最后一个元素会用None填补,但是None和int类型的数是不能相加的。也就是说,除非参数function支持None的运算,否则根本没意义。现在我们看下另一个例子你就明白了

def add(x,y,z):
    return x,y,z
pst1 = [1,2,3]
pst2 = [1,2,3,4]
pst3 = [1,2,3,4,5]
res = map(add, pst1, pst2, pst3)
print(res)

输出:

[(1, 1, 1), (2, 2, 2), (3, 3, 3), (None, 4, 4), (None, None, 5)]

相关推荐:《Python教程》

以上就是小编分享的关于python中map是什么意思的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!

分享到: 编辑:wangmin

就业培训申请领取
您的姓名
您的电话
意向课程
点击领取

环球青藤

官方QQ

扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群

绑定手机号

应《中华人民共和国网络安全法》加强实名认证机制要求,同时为更加全面的体验产品服务,烦请您绑定手机号.

预约成功

本直播为付费学员的直播课节

请您购买课程后再预约

环球青藤移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载
环球青藤官方微信服务平台

刷题看课 APP下载

免费直播 一键购课

代报名等人工服务

课程咨询 学员服务 公众号

扫描关注微信公众号

APP

扫描下载APP

返回顶部