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] |
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!