python内置函数map_python3内置函数map

map是Python的内置函数, 使用的方式如下;

list = map(func, iter)

其中, func是函数, iter是可迭代的序列。

它的功能是:将一个序列中的每一个元素应用传入的函数, 并返回一个包含所有函数调用结果的一个列表.

举一个例子, 我有一个列表l, 我们要求把列表中的所有元素都加10, 整我们会这实现

l = [1, 2, 3]

l1 = []

for i in l:

print(l)

l1.append(i + 10)

print(l1)

结果如下:

[1, 2, 3]

[1, 2, 3]

[1, 2, 3]

[11, 12, 13]

如果我们使用的map函数的话,我可以先定义个一个Inc的函数用于加10,然后在调用map行数 。

def inc(x):

return x + 10

print(list(map(inc, l)))

结果如下:

[11, 12, 13]

这里我大致流程应该是这样: map函数会将l列表中的没有都映射都inc函数, 又将每一个返回的结果放在一个列表中, 但是这个结果列表在python3中需要调用list函数进行强制显示, 如果是python2则不用

如果我们使用lambda函数,我们是可以减少一定的代码量的, 比如:

print(list(map((lambda x: x + 10), l)))

这样的我们完全可以一行搞定。

其实我们还可以使用这样的列表解析,来完成这个需求:

print([i + 10 for i in l])

结果如下:

[11, 12, 13]

显然效果是一样的, 但是map作为内置函数, 在性能更快一些

map函数还能使用多个序列作为参数, map会找到相应序列中的对应位置的元素作为参数传入函数中

#比如我们要计算两个序列中的对应位置的加和, 等到一个加和后的结果:

l2 = [2, 3]

l3 = [4, 5]

print(list(map((lambda x, y: x + y), l2, l3)))

结果如下:

[6, 8]

到此结束,以后再补充

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页