Skip to main content
 首页 » 编程设计

python之如何加速此 python 代码(条件循环)

2025年05月04日14shangdawei

我试图找到一种不在循环中使用 if...else 条件的方法,以便加快代码速度,知道吗?

for i in range(n): 
    for j in range(n): 
        if a1[i, j] == 0: 
            b1[i, j] = 1 
        else: 
            b1[i, j] = a1 / np.sin(a1) 
        if a2[i, j] == 0: 
            b2[i, j] = 1 
        else: 
            b2[i, j] = a2 / np.sin(a2) 

请您参考如下方法:

您正在计算 sinc 的倒数功能。所以你可以这样做:

b1 = 1.0 / np.sinc(a1/np.pi) 
b2 = 1.0 / np.sinc(a2/np.pi) 

numpy sinc 函数是矢量化的,因此您无需编写循环。