robert wrote: > I want to use a computation cache scheme like > > > o = CACHECOMPUTE complex-key-expr expensive-calc-expr > > > frequently and elegantly without writing complex-key-expr or > expensive-calc-expr twice. > So its ugly: > > _=complex-key-expr; o=cache.get(_) or > cache.setdefault(_,expensive-calc-expr) > > Any ideas? > > -robert
Your question is a bit terse, so my answer might not be spot on for it, but it sounds like you want what is typically called 'memoization', whereby a function caches its expensive-to-calculate return values, where the cache is keyed by the function arguments. See: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52201 and various other implimentations in the Cookbook for details. -- http://mail.python.org/mailman/listinfo/python-list