是否有任何内置版本
def unpack(f, a):
return f(**a) #or ``return f(*a)''
为什么unpack不被认为是一个运算符并且位于 operator.* 中?
我正在尝试做与此类似的事情(但当然想要针对同一类型问题的通用解决方案):
from functools import partial, reduce
from operator import add
data = [{'tag':'p','inner':'Word'},{'tag':'img','inner':'lower'}]
renderer = partial(unpack, "<{tag}>{inner}</{tag}>".format)
print(reduce(add, map(renderer, data)))
就像不使用 lambdas 或 comprehensions一样。