我们已经知道了函数式编程(Python核心技术——简洁的匿名函数(下)):简单地说无法访问外部变量,当用相同的参数调用它们时,它们总是给你相同的结果。
这次我们来学习一下,高阶函数:map()
map()函数简单介绍和简单使用
首先,我们看看map() 函数语法:
map(function, iterable, )
- function -- 函数
- iterable -- 一个或多个序列
map(function, iterable) 函数,在前面的文章(Python核心技术——简洁的匿名函数(中))提到过,map()函数表示对 iterable 中的每个元素,都运用 function 这个函数,最后返回一个新的可遍历的集合。简单的概括为:根据提供的函数对指定序列做映射。如果对iterable不了解可以看看Python核心技术——自定义可迭代对象
我们先看一个例子,如果对一个列表中的每个元素乘以 2,那么用 map () 函数就可以表示为下面这样:
map()函数的第一个参数是lambda函数,它接受l里的元素并乘以2返回,最终的效果就是返回了一个新的序列,这个序列以l为基础,每个元素乘以2。
多个iterable在map中的应用
刚才我们讲了一个可迭代对象在map函数中的使用,现在我们看看如何传入多个可迭代对象到map函数中。
我们传入了l1,l2两个可迭代对象,在map的内部,会同时遍历他们,从这两个列表里各自取出一个元素作为参数传给lambda函数,最终的效果就是1+4, 2+5,3+6, 程序输出结果5,7,9。
#Python核心技术#