列表理解中的缓存变量

2024-06-16 08:55:43 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个昂贵的操作expensive(x: int) -> int和以下列表:

# expensive(x: int) -> int
# check(x: int) -> bool
[expensive(i) for i in range(LARGE_NUMBER) if check(expensive(i))]

如果我想避免为每个i运行两次expensive(i),有没有办法用列表理解保存它的值


Tags: innumber列表forifcheckrangeint