有没有一种方法可以同时评估python中的表达式和中断循环?
最简单的例子来解释我的想法:
while True:
if bar == 'baz':
foo = bar == 'baz'
break
但这是程序员或者我想做一些类似的事情(也许用lambda函数?(:
while True:
foo = bar == 'baz' # and in the same line call break, but only if bar equals baz
将您的条件添加到while子句本身中:
while bar != 'baz':
# do something
continue
# now bar = 'baz'
foo = bar
要扩展@C.Nivs,请回答您希望foo
为布尔值的更新问题:
foo = False
while not foo:
foo = bar == "baz"
或者,如果你使用的是Python 3.9或更高版本,你可以使用walrus运算符并执行:
while foo := bar == "baz":
continue # or do something