首页 > 解决方案 > 如何根据python中的if语句跳到循环的下一次迭代?

问题描述

我有两个 for 循环,它们遍历一个范围并根据在数组中某个位置找到的值更新列表中的值。第二个循环中的 if 子句执行按位运算,并使用 list1 和 val1 中的位置作为检查数组的位置,并将该位置的值与 val2 进行比较。每次外循环递增时,都会更新 val1 和 val2。如果满足 if 条件,则更新一些进一步的值。

for i in range(0, upper_bound-1):
    *** do some stuff ***
    val1 = func1[list1[n]
    val2 = func2[list1[n]

    for j in range(i+1, upper_bound):
        if (arr[list1[j], val1] & val2) !=0:
            t = list1[j]
            *** do some other stuff *** 

我想要的是,当根据 if 语句找到匹配项时,值会更新,但我只想计算第一个匹配项。因此,例如,如果在第一次迭代 i = 0 时,在内循环中在 j = 10 处找到匹配项,那么我想移出内循环并以 i = 1 从外循环重新开始。在那一刻我可能会在内循环中找到不止一个匹配项,比如 j = 10 和 j = 25,但这不是我想要的。我认为 continue 在这种情况下不会有帮助。我该如何解决这个问题?

标签: pythonarraysloopscontinue

解决方案


推荐阅读