----- Original Message ----- > From: Peter Otten <__pete...@web.de> > To: python-list@python.org > Cc: > Sent: Monday, April 27, 2015 4:28 PM > Subject: Re: Wrote a memoize function: I do not mind feedback > > Cecil Westerhof wrote: > >> I started again with Python. In Clojure you have memoize. I thought it >> nice to have this in Python also. So I wrote it. With a Fibonacci >> function to show the usefulness. >> You can find it here: >> https://github.com/CecilWesterhof/PythonLibrary >> >> I love to hear what you think of it. >> >> And ideas for other functionalities are welcome also. Übung macht den >> Meister. > > See also: > > https://docs.python.org/dev/library/functools.html#functools.lru_cache > > A bit hard to find unless you already know it's there.
If you Google for memoization decorator, you will easily find many more implementations. Not 100 percent sure, but I think the LRU cache decorator was not exactly light weight. I also like this one from Martelli's Python Cookbook, where he uses a mutable default argument {a dictionary} to implement memoization. I believe I went like this: def some_func(arg, _memoize={}): try: return _memoize[arg] except KeyError: result = some_expensive_operation(arg) _memoize[arg] = result return result -- https://mail.python.org/mailman/listinfo/python-list