Вы можете определить свой собственный .apply
:
>>> def apply(f, args):
... return f(*args)
...
>>> apply_each = lambda fns, args=[]: map(apply, fns, [args]*len(fns))
Или все сразу:
apply_each = lambda fns, args=[]: map(lambda f, args: f(*args), fns, [args]*len(fns))
Но это плохой стиль, единственным преимуществом лямбды является то, чтоэто анонимно, если вы собираетесь присвоить его имени, которое побеждает цель.Это лучший стиль:
def apply(f, args):
return f(*args)
def apply_each(fns, args=()):
return map(apply, fns, [args]*len(fns))
Итак:
>>> import operator as op
>>> list(apply_each([op.add, op.sub, op.mul, op.truediv], args=[1,2]))
[3, -1, 2, 0.5]