Python 小技巧,如何跳出多层for循环

背景:

        在学习 JavaScript 的时候,看到 JS 中有 label 语句,一般都用于 for 循环,由 continue 或 break 引用;使用 label 语句可以方便跳出 for 的多层循环;然后想到 Python 要如何实现 for 循环的多层跳出呢?以前一直没有考虑这个问题。

巧用 for ... else ... 解决(也是参考了https://blog.csdn.net/u012814856/article/details/78723071)   

        首先看下 for ... else ... 的用法,else 是在 for 循环完成之后才运行的;

        >>> for i in range(3):
         ...     print(i)
         ... else:
         ...     print('else content')

         ...
         0
         1
         2
        else content

        如果我们在 for 循环中使用了 break 会怎么用?

        >>> for i in range(3):
        ...     break
        ... else:
        ...     print('else content')
        ...

        可以看到 'else content' 并没有输出,也就是说没有运行 else 语句。       

        可以将这个特性用于跳出 for 的多层循环:

        >>> num = 0
        >>> for i in range(10):
         ...     for j in range(10):
         ...             if i==5 and j==5:
         ...                     break
         ...             num += 1
         ...     else:
         ...             continue
         ...     break
         ...
        >>> num
         55

猜你喜欢

转载自blog.csdn.net/qq_39955111/article/details/86593984
今日推荐