在python中使用三元运算符?

The*_*tan 5 python ternary-operator

请考虑以下代码段.它在break语句中标记语法错误.

digits = list(str(102))
dummy = list(str(102/2))
for j in digits:
    dummy.remove(j) if j in dummy else break
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?(我还想使用三元运算符)

Ian*_*Ian 6

编辑:

(参见我在评论中与Stefan Pochmann的谈话)

三元运营商不是唯一的声明,而是转让或表达(且break唯一的语句):

a = 5 if cond else 3 #OK
do() if cond else dont() #also OK
do() if cond else break #not OK
Run Code Online (Sandbox Code Playgroud)

使用normal if-else语句来做语句:

if cond:
    do()
else:
    break
Run Code Online (Sandbox Code Playgroud)

  • 您的示例并不完全相同,因为它们是*有效的语法 (2认同)
  • @TheChetan:不,没有.Python侧重于可读性,而不是简洁性. (2认同)