我有一个for循环,它使用已经定义的函数和循环中前一阶段的结果。它比函数乘以循环数所花费的时间要长。有没有更有效的方法
def Surge_Method2(CD, FlyWheel_frequence, Presession_frequence, slices, Time_Step, Stop_time):
Advance_V = [0]
for i in Elements(Time_Step, Stop_time):
advance_v = Foward_Velocity(Advance_V[i], Roll_V_at_time(i*Time_Step,
FlyWheel_frequence, Presession_frequence), CD, slices, Time_Step)
Advance_V.append(advance_v)
out = Advance_V[:-1]
return(out)
@bsa是对的:您可能在假设您的底层函数总是有相同的执行时间
如果预定义函数是递归函数或包含依赖于数字本身的循环(使用阶乘计算的类比),那么它们的执行时间会有很大的变化。我强烈建议您在对您的功能进行基准测试之前,先对它们进行基准测试
与您的问题没有直接关系:
惯用的Python在变量名中使用小写字母,因此应该调用函数
surge_method2()
,以及参数flywheel_frequence
、presession_frequence
,等等相关问题 更多 >
编程相关推荐