У меня были следующие реализации:
def vecAdd(v1, v2): return tuple(map(add, izip(v1,v2)))
def vecMul(v1, f): return tuple(map(mul, izip(v1,repeat(f))))
Это не сработало, потому что add
(и mul
) вызывается как add((x,y))
, то есть он получает только один единственный аргумент.
Есть ли какая-нибудь функция, которая в основном выполняет следующее?
def funccaller_with_exposed_args(func):
return lambda args: func(*args)
Возможно, в этом случае это излишне и чрезмерно эффективно, но в целом это может быть очень важно с точки зрения производительности, если в противном случае вы могли бы выложить полный тяжелый цикл в чистый код C.