嵌套For循环如何工作

时间:2016-01-13 14:07:57

标签: python

def SNP(seq1, seq2):
    result = []
    counter = 0
    for position, base in enumerate(seq1):
        for position2, base2 in enumerate(seq2):
            if base != base2:
                result.append(position)
                result.append(base)
                result.append(base2)
                counter += 1

                if counter == 2:
                    return None

    result2 = tuple(result)
    return result2

print(SNP('AAGCCTA', 'AAGCTTA'))

如果" if语句"无效,循环再次启动第二个for循环,我不打算...

所以问题是在if语句之后,我应该如何让代码在第一个循环后重新开始,而不是在1个循环后第二次循环?

2 个答案:

答案 0 :(得分:0)

你只需在if区块中休息,就像这样

if base != base2:
    result.append(position)
    result.append(base)
    result.append(base2)
    counter += 1

    if counter == 2:
        return None
else:
   break

答案 1 :(得分:0)

def SNP(seq1, seq2):
result = []
counter = 0
for position, base in enumerate(seq1):
    for position2, base2 in enumerate(seq2):
        if base != base2:
            result.append(position)
            result.append(base)
            result.append(base2)
            counter += 1

            if counter == 2:
                break

result2 = tuple(result)
return result2

在if中添加了中断。对不起,如果这是错误的if语句。