• python的for else语句


    Python循环中的else语句

    绝大部分编程语言中都有条件判断语句,比如 if … else ,在大部语言中,else 一般只在条件判断语句中出现,与 if 语句配套出现,不过在 Python 中,else 除了能与 if 这样的条件判断一起出现外,还能出现在 for、while 这样的循环语句中。

    我们来看一个例子:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    s = ["a111", "b222", "c333", "d444", "e555"]
    found = False
    for c in s:
        if c.startswith("c"):
            found = True
            print u"发现以字母c开头的项"
            break
     
    if not found:
        print u"没有发现以字母c开头的项"

    做一次循环,如果发现满足条件的字母则打印出提示信息,循环完了还没有发现则打印出另一条信息。我们需要设置一个额外的变量来记录是否找到了目标字符(程序中的 found 变量),在循环完成之后再做一个 if 判断。

    上面的写法当然是可以的,不过如果我们使用循环中的 else 语句的话,代码会更简洁清晰。比如:

    1
    2
    3
    4
    5
    6
    7
    s = ["a111", "b222", "c333", "d444", "e555"]
    for c in s:
        if c.startswith("c"):
            print u"发现以字母c开头的项"
            break
    else:
        print u"没有发现以字母c开头的项"

    在这儿,记录是否找到的额外的变量不需要了,也不再需要在循环完成后再进行 if 判断,但达到的效果和第一段代码是一样的。

    在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样

    如果使用continue替换break,效果则是:else里的语句肯定会被执行,有些场合也是一个有意思的用法

  • 相关阅读:
    vivo 全球商城:从 0 到 1 代销业务的融合之路
    mysql 批量kill掉运行中的进程id
    启用php-fpm状态功能 --php-fpm调优也有
    PHP-php-fpm配置优化
    Linux-cpu分析-vmstat
    关于overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷等等)
    curl 发送POST请求
    python redis-rdb工具 分析redis工具
    tupdump
    spring cloud gateway security oauth2
  • 原文地址:https://www.cnblogs.com/shengulong/p/8416999.html
Copyright © 2020-2023  润新知