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函数。
时间: 2024-09-16 22:13:49