假设我们有一个函数add如下
add
def add(x, y): return x + y
我们想为数组应用映射函数
map(add, [1, 2, 3], 2)
语义是我想向数组的每个元素添加 2。但是该map函数也需要第三个参数中的列表。
map
注意: 为了简单起见,我add举个例子。我原来的功能要复杂得多。当然,设置yinadd函数的默认值的选项是没有问题的,因为每次调用都会更改它。
y
一种选择是列表理解:
[add(x, 2) for x in [1, 2, 3]]
更多选择:
a = [1, 2, 3] import functools map(functools.partial(add, y=2), a) import itertools map(add, a, itertools.repeat(2, len(a)))