如何加快嵌套循环? Python

Posted

技术标签:

【中文标题】如何加快嵌套循环? Python【英文标题】:how to speed up nested loop? Python 【发布时间】:2022-01-08 20:34:51 【问题描述】:
def model_predykycjny(r):
    macierz_R = np.zeros((r, r))
    for i in range(1, r + 1):
        for j in range(1, r + 1):
            suma_iloczynow = 0
            if i <= j:
                # I want to speed up this loop
                for n in range(r, len(fixed_data_channel0)):
                    suma_iloczynow += float(fixed_data_channel0[n - i]) * float(fixed_data_channel0[n - j])
                macierz_R[i - 1][j - 1] = (np.float(suma_iloczynow))
            suma_iloczynow = 0
time for r =3 : 7.9424097537994385

【问题讨论】:

请阅读:***.com/help/how-to-ask 然后考虑修改您的问题以提供更多详细信息 【参考方案1】:

您可以使用ranges,因此您无需检查i&lt;=j,考虑一下

r = 3
for i in range(1, r+1):
    for j in range(1, r+1):
        if i<=j:
            print(i,j)

等价于

r = 3
for i in range(1, r+1):
    for j in range(i, r+1):
        print(i,j)

【讨论】:

以上是关于如何加快嵌套循环? Python的主要内容,如果未能解决你的问题,请参考以下文章

如何使用熊猫来加快这个嵌套循环的速度?

如何加快大数据集中的两个嵌套 for 循环

加快嵌套循环比较

为啥多处理会减慢嵌套的 for 循环?

R摆脱嵌套的for循环

如何使用 Python 输出嵌套循环的结果 [关闭]