【发布时间】:2021-12-16 19:27:21
【问题描述】:
我有一个高 CPU 消耗功能,可以说:
def high_cost_function(p):
... lots of operations...
return p
我想在python的内部循环下使用:
例子:
paths1= ['a','b','c']
paths2= ['b','c','d']
[any(x.startswith(high_cost_function(y)) for x in paths1) for y in paths2]
正确返回:[True, True, False]
但是,如您所见,我不得不为paths1 中的每个x 调用high_cost_function(y)。
如果是正常循环,我可能会这样做:
for y in paths2:
tmp_var = high_cost_function(y)
for x in paths1:
...
use tmp_var
...
有没有办法以第一种“pythonical 时尚方式”实现这一点??
【问题讨论】:
标签: python python-3.x performance loops