天天看点

《Python数据科学指南》——1.17 使用映射函数

本节书摘来自异步社区《python数据科学指南》一书中的第1章,第1.17节,作者[印度] gopi subramanian ,方延风 刘丹 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

map是python中的内置函数,它使用一个函数和一个可迭代对象作为参数,形式如下。

<code>map(afunction, iterable)</code>

我们来看一个非常简单的使用map函数的示例。

我们看看如何使用map函数的示例。

这和上一节中的代码很相似,map函数有两个参数,第1个是一个函数,第2个是一个序列。本例中,我们使用了匿名函数。

<code>lambda x:x**2</code>

这个函数求出给定输入值的平方值。我们还传递了一个列表给map函数。

map函数对给定列表中的所有元素应用了求平方值函数,并以列表的形式返回结果。输出结果如下。

<code>[100,400,900]</code>

同样地,其他函数也可以被应用到列表上。

<code>print map(lambda x:x**3,a)</code>

使用map函数,我们可以把上一节中的代码段改写成单行的代码。

如果应用的函数需要n个参数,则map函数参数也需要n个序列,请看下面的示例以增进理解。

我们传递了a、b两个序列给map函数,请注意传递的函数是power函数,它需要两个参数。上面示例的输出结果如下。

列表a中的各个元素,被计算出以列表b中相同位置的值为指数的幂值。请注意,两个列表中必须是相同的大小,如果不满足这个条件,python会自动将较小的那个列表补足空值。这个示例演示的是列表类型,其他任何可迭代对象也都能被传递给map函数。