python内置函数map的原型是
map(function, iterable, ...)
map函数返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器,map函数的第一个参数可以是lambda函数也可以是自定一函数,第二个参数是可变参数,可以传入多个可迭代对象。
map(function, iterable, ...)
迭代器
function 参数是lambda函数
lst1 = [1, 2, 3]
lst = map(lambda x: x*2, lst1)
print(lst)
for item in lst:
print(item)
执行结果
<map object at 0x105664358>
2
4
6
传入多个可迭代对象
lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
lst = map(lambda x, y: x*y, lst1, lst2)
print(lst)
for item in lst:
print(item)
这段代码里,传入了lst1,lst2两个可迭代对象,在map的内部,会同时遍历他们,从这两个列表里各自取出一个元素作为参数传给lambda函数,最终的效果就是14, 25,3*6, 程序输出结果
<map object at 0x1032f1400>
4
10
18
传入自定义函数
lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
def func(x, y):
return x*y
lst = map(func, lst1, lst2)
print(lst)
for item in lst:
print(item)
几乎与上一段代码一模一样,只是用func函数替代了lambda函数,如果处理逻辑较为复杂,那么使用自定义函数是合理的选择,毕竟lambda函数只适合编写简单的逻辑。
QQ交流群: 211426309