Python 跳出多重循环(break 仅用于跳出本层循环)
例如:lst1 = list(range(5))
lst2 = list(range(5))
要求:
lst1 中的某一个元素与 lst2 中的某一个元素相同时,输出两个元素的值,只要求输出一组相同的值即可
for i in range(5):
for j in range(5):
if i == j :
print(i,j)
break #找到符合条件的值即退出循环
该循环过程会返回5组数据(0,0) (1,1) (2,2) (3,3) (4,4)
根据要求,我们只需要提供一组即可
虽然我们使用了break 语句跳出循环,但是break 语句仅仅跳出了当前循环,因此外层循环还是会继续执行
此时,需要思考在有多层循环的情况下,当我们找到符合条件的值时,如何退出所有循环?
**Method 1:**将循环封装为函数,利用return语句结束循环
# Method 1:将循环封装为函数,利用return
def test(lst1, lst2):
for i in lst1:
for j in lst2:
if i == j:
return(i,j)
else:
return('未找到符合条件的数据')
print(test(range(5), range(5)))
Method 2 : 后续发现更好的补充