我们知道
list(map(f,[1,2],[3,4],[6,7]))
相当于
[f(1,3,6),f(2,4,7)]
我想知道是否有内置函数tolist等于[],所以
tolist(a,b,c,d)
相当于[a,b,c,d].
我认为这样的函数在函数式编程中很有用.因为许多函数采用list参数而不是sequence.
当然,一个简单的自定义方式是lambda * x:list(x),但我总觉得它在语法上很麻烦,尤其是在函数式编程风格中使用它
map(lambda *x:list(x),[1,2],[3,4],[6,7])
所以我的问题是,如果没有这样的内置tolist,我们是否可以使用像FP这样的FP包更加优雅地构建它?
PS:我实际想要实现的是添加的线程版本(我知道numpy,但我现在不想使用它)
from toolz.curried import *
import operator as op
def addwise(*args):
return list(map(compose(reduce(op.add),lambda *x:list(x)),*args))
然后
addwise([1,2],[3,4],[6,7])
会给
[10, 13]