Python Map
Map会将一个函数映射到一个输入列表的所有元素上。Map的规范为:map(function_to_apply, list_of_inputs)
大多数时候,我们需要将列表中的所有元素一个个传递给一个函数,并收集输出。例如:
1
2
3
4
|
items = [ 1 , 2 , 3 , 4 , 5 ]
squared = []
for i in items:
squared.append(i * * 2 )
|
使用Map的话,可以让我们以一种更加简便的方法解决这种问题。
1
2
|
items = [ 1 , 2 , 3 , 4 , 5 ]
squared = list ( map ( lambda x: x * * 2 , items))
|
大多数时候,我们会使用python中的匿名函数lambda来配合map。不仅对于一列表的输入,同时我们也可以用于一列表的函数。
1
2
3
4
5
6
7
8
|
def multiply(x):
return (x * x)
def add(x):
return (x + x)
funcs = [multiply, add]
for i in range ( 5 ):
value = list ( map ( lambda x: x(i), funcs))
print (value)
|
以上程序输出为:
1
2
3
4
5
6
|
# Output:
# [0, 0]
# [1, 2]
# [4, 4]
# [9, 6]
# [16, 8]
|
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!