相关疑难解决方法(0)

在列表推导语法中避免重复的函数调用

我有一个列表理解,近似于:

[f(x) for x in l if f(x)]
Run Code Online (Sandbox Code Playgroud)

其中l是列表,f(x)是返回列表的昂贵函数.

我想避免对f(x)的每次非空出现进行两次f(x)求值.有没有办法在列表理解中保存其输出?

我可以删除最终条件,生成整个列表然后修剪它,但这似乎是浪费.

python list-comprehension code-readability

54
推荐指数
7
解决办法
6707
查看次数