python @memoize vs functools.lru_cache

13

1
你是否在寻找一个除了“因为有人在那个维基页面上放置了@memoized实现,而且还没有从那里删除它”的答案? - das-g
1个回答

17

functools.lru_cache 为Python 3.2版本添加。对于使用Python 2的人以及针对它编写的库(例如所有主要库),都不能使用该函数。

解决方法是使用来自装饰器库的@memoize配方。

如果您只使用Python 3,基本上没有理由不使用lru_cache


2
我该如何获取存储在lru_cache中的所有键或所有值?这是我最近想要的东西。 - Stefan Pochmann
1
lru_cache 可以在 2.7 中使用,需要安装 functools32 - johanno
能否分享一个链接,关于装饰器库中的@memoize recipe。 - juggernaut
1
编辑并附上链接。 - Jonas Adler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接