前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python: map函数

python: map函数

作者头像
JNingWei
发布2018-09-28 14:50:19
1.3K0
发布2018-09-28 14:50:19
举报
文章被收录于专栏:JNing的专栏

API

map(function, sequence)

对 sequence 中的 item 依次执行 function(item),将 执行结果 组成一个 List 返回。

Note: 不论 function 或 sequence 参数项如何设置,最终返回值 一定是 一个list !

python2 与 python3 中 map 的不同

python2 中, map 返回 的是 list型python3 中, map 返回 的是 map object(filter对象)。需要再加上 转list 操作才能达到 python2下的效果。

代码语言:javascript
复制
lst = [1, 2, 3]
strs = map(str, lst)
print(strs)    # <map object at 0x7f002d4877b8>
print(list(strs))    # ['1', '2', '3']

Test (基于python2)

sequence == None

sequence == None 时,视为无操作,返回原list。

代码语言:javascript
复制
str_function = lambda x : str(x)
box = [10, 20, 30]
print map(None, box)

打印结果:

代码语言:javascript
复制
[10, 20, 30]

len(sequence) == 1

普通迭代计算。

代码语言:javascript
复制
str_function = lambda x : str(x)
box = [10, 20, 30]
print map(str_function, box)
assert type(map(str_function, box)[0]) == str

打印结果:

代码语言:javascript
复制
['10', '20', '30']

len(sequence) > 1

在每个list中,并行取出下标相同的元素,执行计算。

代码语言:javascript
复制
cal_function = lambda x, y : x+y
list1 = [10, 10, 10]
list2 = [1, 2, 3]
print map(cal_function, list1, list2)

打印结果:

代码语言:javascript
复制
[11, 12, 13]


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年10月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • API
  • python2 与 python3 中 map 的不同
  • Test (基于python2)
    • sequence == None
      • len(sequence) == 1
        • len(sequence) > 1
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档