Python 有没有办法加速这个循环?

Python 有没有办法加速这个循环?,python,performance,for-loop,Python,Performance,For Loop,我需要以更有效的方式编写此块: for aci in teta_degree: for t_degeri in t: for x_degeri in x_values: resulted_y_values = np.tan(aci) * x_degeri + t_degeri / np.cos(aci) result.append([aci,t

我需要以更有效的方式编写此块:

    for aci in teta_degree:                     
        for t_degeri in t:
            for x_degeri in x_values:
                resulted_y_values = np.tan(aci) * x_degeri + t_degeri / np.cos(aci)
                result.append([aci,t_degeri,x_degeri,resulted_y_values])
通过使用itertools,我可以替换for循环,但找不到将结果_y_值放入结果中相关位置的方法:

result_2 =  [i for i in itertools.product(teta_degree,t,x_values)]

多亏了@PaulRooney,即使是他(也是我)也没有想到,他的解决方案,即将
np.tan
np.cos
操作带到外环,带来了非常好的性能:

yeni_süre = time.time()
for aci in teta_degree:  
        tan = np.tan(aci)
        cos = np.cos(aci)
        for t_degeri in t:
            for x_degeri in x_values:
                resulted_y_values = tan * x_degeri + t_degeri / cos
                result.append([aci,t_degeri,x_degeri,resulted_y_values])
print('New: ',time.time()-yeni_süre,'sec')
1.061秒

而旧的:


8.601秒

所有这些都是独立的循环。我觉得这里有点不对劲。您可能需要在一个内部循环中使用iterable from outer循环loops@ShikharDua因为我需要x_值和t的每一个值,所以我把teta_度放在外层loop@PaulRooney关于每个嵌套循环中不必要的重新计算,您是对的。但我看不到任何不必要的迭代。另一个结果是使用itertools。在这种情况下,与我放弃与结果值相关的操作时仅使用for循环相比,product并不快;更慢。