将IF条件语句打断为一行(&Q)

问题描述

我要编写一条语句,该语句在满足特定条件时中断for循环,但只占一行。

我知道这很管用:

for val in "string":
    if val == "i":
        break
    print(val)

我知道this有效:

value_when_true if condition else value_when_false

但是当我运行这段代码时,我得到一个语法错误:

break if some_string[:5] == condition

有没有办法在一行中编写这样的中断条件?我可能做错了什么吗?

谢谢!


解决方案

不能使用三元表达式,因为break不是表达式:它不返回值。

不过,您可以像这样简单地省略换行符。

for val in "string":
    if val == "i": break
    print(val)

相关文章