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

    xiaoxiao2024-03-11  121

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

    1.17 使用映射函数

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

    map(aFunction, iterable)

    1.17.1 准备工作

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

    1.17.2 操作方法

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

    #首先声明一个列表 a =[10,20,30] #现在,在print语句中调用map函数 print map(lambda x:x**2,a)

    1.17.3 工作原理

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

    lambda x:x**2

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

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

    [100,400,900]

    1.17.4 更多内容

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

    print map(lambda x:x**3,a)

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

    print sum(map(lambda x:x**2,a)) print sum(map(lambda x:x**3,a))

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

    a =[10,20,30] b = [1,2,3] print map(pow,a,b)

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

    [10, 400, 27000] >>>

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

    相关资源:python cookbook(第3版)
    最新回复(0)