def flazy(f, *a, **k):
sortedtuple, state = fcompose(__builtin__.sorted, __builtin__.tuple), {}
def lazy(*ap, **kp):
A, K = a+ap, sortedtuple(k.items() + kp.items())
return state[(A,K)] if (A,K) in state else state.setdefault((A,K), f(*A, **__builtin__.dict(k.items()+kp.items())))
return lazy
评论列表
文章目录