评估一个表达式并在python中的同一行中执行某些操作



有没有一种方法可以同时评估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

最新更新