小编典典

如何对映射函数执行多个参数,其中一个在python中保持不变?

all

假设我们有一个函数add如下

def add(x, y):
    return x + y

我们想为数组应用映射函数

map(add, [1, 2, 3], 2)

语义是我想向数组的每个元素添加 2。但是该map函数也需要第三个参数中的列表。

注意:
为了简单起见,我add举个例子。我原来的功能要复杂得多。当然,设置yinadd函数的默认值的选项是没有问题的,因为每次调用都会更改它。


阅读 54

收藏
2022-06-27

共1个答案

小编典典

一种选择是列表理解:

[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)))
2022-06-27