【发布时间】:2014-01-03 17:58:19
【问题描述】:
我正在尝试看看我是否可以在 Python 中实现一些非常惰性的东西。
我有一个 dict 理解,其中的值是一个元组。我希望能够通过使用元组的第一个条目来创建元组的第二个条目。
一个例子应该会有所帮助。
dictA = {'a': 1, 'b': 3, 'c': 42}
{key: (a = someComplexFunction(value), moreComplexFunction(a)) for key, value in dictA.items()}
moreComplexFunction 是否可能使用元组第一个条目中的计算?
【问题讨论】:
-
您可以让
someComplexFunction实现lru_cache,然后您只需调用moreComplexFunction(someComplexFunction(value))而不会受到性能影响。 缓存有一些开销,如果您只使用一次缓存,这可能有点过头了,所以我将此作为评论而不是答案。
标签: python python-3.x dictionary functional-programming