我想编写一条语句,如果满足特定条件,但可以在一行中跳出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
有没有办法在一行中编写这样的中断条件?我可能做错了什么?
谢谢!
答案 0 :(得分:2)
您不能使用三元表达式,因为break
不是表达式。
尽管如此,您可以简单地省略换行符。
for val in "string":
if val == "i": break
print(val)
答案 1 :(得分:1)
编写下面的代码没有害处
for val in "string":
if val == "i":
break
单线不会带来任何好处,但是所有操作都被压缩在一行中,这很难看懂。
value_when_true if condition else value_when_false
这只有在您有表达式时才有用。例如
x = 1 if True else 0
由于break
不是表达式,因此无法像上面那样使用
if condition: break
将打破循环。但是我还是建议您使用原始代码,因为它更具可读性。
答案 2 :(得分:0)
这对我有用:
for i in range(10):
print(i)
if i == 2: break