Python循环控制详解

 更新时间:2024年07月16日 08:59:47   作者:DECHIN  
本文介绍了Python编程语言中关于for循环和if条件控制的一些基本使用,包含了单层循环的退出机制和多层循环的退出机制,使得我们在满足特定条件时,可以直接结束多层循环,需要的朋友可以参考下

技术背景

循环控制是每一门编程语言的基础,最常用的就是for循环和while循环。使用循环可以很大程度上简化代码的编写,可读性也很强。这里介绍Python的for循环基本操作和多重循环的控制。

单层for循环

这里用一个最简单的打印数字的for循环来演示普通单层for循环的控制:

for i in (1, 2, 3): 
    print (i)

输出结果为:

1 2 3

值得一提的是,Pythonic的写法使得我们可以把这一串的循环写到一行里面:

for i in (1, 2, 3): print (i)

输出结果是一样的,但是可以很大程度上缩略简单代码的行数。对于比较复杂的循环体,建议还是分行来写,提升代码可读性。

双重for循环

我们还是使用打印数字的简单案例:

for i in (1, 2, 3):
    for j in (4, 5):
        print (i, j)

输出结果为:

1 4
1 5
2 4
2 5
3 4
3 5

那么类似的,双重循环也可以使用一些Pythonic的写法:

from itertools import product
for i, j in product((1, 2, 3), (4, 5)): print (i, j)

输出结果依然是一样的,但是代码量从三行缩减到了两行。这里顺带介绍另一个情况,在循环内操作多个对象:

a = (1, 2, 3)
b = (4, 5, 6)
for i in range(3):
    print (a[i], b[i])

输出结果为:

1 4
2 5
3 6

那么其实也可以用zip打包的方法进行循环:

for i, j in zip((1, 2, 3), (4, 5, 6)): print (i, j)

当然,输出结果也是跟上面的案例一致的。

单层循环控制

常用的控制句柄就是continuebreakpass,然后结合if...elif...else来使用。还是用这个打印数字的示例,但是我们只打印奇数:

for i in (1, 2, 3):
    if i % 2 == 1:
        print (i)

输出结果为:

1
3

这里条件控制内容为:当得到的数为奇数时,打印该数。而如果为偶数,则执行if从句之外的内容,因为这里函数之外没有其他操作,因此就不打印。如果需要打印,我们可以加上一个打印操作:

for i in (1, 2, 3):
    if i % 2 == 1:
        print (i)
    else:
        print ('Even: {}'.format(i))

输出结果为:

1
Even: 2
3

条件判断可以结合continue来使用,continue表示跳过余下所有的操作,执行循环的下一步。例如上面这个例子,假设我们不使用else语句,直接在if内部加上一个continue,也是可以实现同样功能的:

for i in (1, 2, 3):
    if i % 2 == 1:
        print (i)
        continue
    print ('Even: {}'.format(i))

输出结果为:

1
Even: 2
3

如果说达到条件不想继续循环了,可以使用break:

for i in (1, 2, 3):
    if i % 2 == 1:
        print (i)
    else:
        print ('Even: {}'.format(i))
        break

输出结果为:

1
Even: 2

这里到出现第一个偶数之后,就退出了循环。

多层循环控制

对于if和continue、break等语句的使用逻辑,在多层循环下和单层循环是一致的。但是这里break只能跳出一层循环,不能跳出两层循环:

for i in (1, 2, 3):
    for j in (4, 5):
        if i + j == 6:
            break
        print (i, j)

输出结果为:

1 4
3 4
3 5

这里输出结果跳过了(1,5),(2,4),(2,5)这几个组合,但是后面的依然都可以正常的输出。如果想退出多层循环应该怎么操作呢?可以参考下下面这个案例:

for i in (1, 2, 3):
    for j in (4, 5):
        if i + j == 7:
            break
        print (i, j)
    else:
        continue
    break

输出结果为:

1 4
1 5
2 4

这里我们稍微改了一下条件,当i+j=7时,退出所有循环。这里在内部循环中触发了一个break之后,到外层循环会跳过else去执行第二个break,也就是退出所有的循环。但是如果内部循环中没有触发break,也就是满足if的条件,那么到了外层循环就会进入到else的语句中,也就是执行continue语句。因此,如果需要在满足条件时退出多层的循环,那么就使用for...[for...if...]else...break这样的形式去写就可以了,然后把外层循环非退出场景的任务写到else语句下就可以了。

在上面这个案例中,假如没有设定这个continue语句,那么结果会是这样的:

for i in (1, 2, 3):
    for j in (4, 5):
        if i + j == 7:
            break
        print (i, j)
    break

输出:

1 4
1 5

也就是说,不论是否满足内循环里面的if条件,到了外层循环都是直接break退出,所以一般我们还是会通过else...continue来继续执行外层循环。

总结概要

本文介绍了Python编程语言中关于for循环和if条件控制的一些基本使用。包含了单层循环的退出机制和多层循环的退出机制,使得我们在满足特定条件时,可以直接结束多层循环。

版权声明

本文首发链接为:https://www.cnblogs.com/dechinphy/p/for-control.html

作者ID:DechinPhy

更多原著文章:https://www.cnblogs.com/dechinphy/

请博主喝咖啡:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

到此这篇关于Python循环控制的文章就介绍到这了,更多相关Python循环控制内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 从基础到高级详解Python中HTTP请求处理实战指南

    从基础到高级详解Python中HTTP请求处理实战指南

    HTTP 是互联网数据通信的基石,它定义了客户端(如浏览器或 Python 脚本)如何与服务器进行交互,下面小编就带大家深入了解一下Python中HTTP请求处理的相关知识吧
    2026-02-02
  • python脚本实现统计日志文件中的ip访问次数代码分享

    python脚本实现统计日志文件中的ip访问次数代码分享

    这篇文章主要介绍了python脚本实现统计日志文件中的ip访问次数代码分享,注意此脚本只适用ip在每行开头的日志文件,需要的朋友可以参考下
    2014-08-08
  • Python开发中避免过度优化的7种常见场景

    Python开发中避免过度优化的7种常见场景

    今天我们来聊一个超火但又常常让人“翻车”的话题:过度优化,很多开发者,特别是刚接触Python的朋友,往往会被“高级技巧”迷了眼,结果搞得自己程序既不简洁,又不易维护,那么,今天就来跟大家一起看看,Python开发中哪些“高级技巧”其实是过度优化,应该尽量避免的
    2025-05-05
  • python中while和for的区别总结

    python中while和for的区别总结

    在本篇内容里小编给大家分享的是关于python中while和for的区别以及相关知识点,需要的朋友们可以学习下。
    2019-06-06
  • 一文带你掌握Python中多线程和线程池的使用方法

    一文带你掌握Python中多线程和线程池的使用方法

    Python中的多线程和线程池是其强大的功能之一,可以让我们更加高效地利用CPU资源,提高程序的运行速度。本文将介绍Python中多线程和线程池的使用方法,并提供一些实用的案例供读者参考
    2023-04-04
  • PyQt5+pycharm开发环境搭建的实现步骤(图文)

    PyQt5+pycharm开发环境搭建的实现步骤(图文)

    本文针对创建PyQt运行环境+PyCharm开发环境的过程进行记录,文中通过图片示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 解决pip install gym==0.19.0安装失败问题

    解决pip install gym==0.19.0安装失败问题

    本文主要介绍了解决pip install gym==0.19.0安装失败问题,通过创建Conda环境、检查错误信息、降级pip版本并重新安装,最终成功解决了问题
    2025-11-11
  • 如何使用Python在Excel中添加超链接

    如何使用Python在Excel中添加超链接

    本文将介绍如何使用 Python 和 Spire.XLS 库在 Excel 工作表中添加各种类型的超链接,包括网址链接、电子邮件链接、工作表内部链接以及图片超链接等,感兴趣的朋友跟随小编一起看看吧
    2026-05-05
  • python创建n行m列数组示例

    python创建n行m列数组示例

    今天小编就为大家分享一篇python创建n行m列数组示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python 如何引用不确定的函数

    Python 如何引用不确定的函数

    在Python中,引用不确定的函数通常意味着我们可能在运行时才知道要调用哪个函数,或者我们可能想根据某些条件动态地选择不同的函数来执行,下面给大家分享Python 如何引用不确定的函数,感兴趣的朋友跟随小编一起看看吧
    2024-07-07

最新评论