Skip to main content
 首页 » 编程设计

Python 一行 if-else 与不同的运算符

2025年05月04日15zhwl

我在 python 中摆弄一行 if 和 for 语句,遇到了以下问题:

我可以做类似下面的工作:

state = 1 if state == 4 else 2 

但我想在相同的上下文中使用 = 和 +=,如下所示:

state = 1 if state == 4 else state+=1 

如何在一行中实现这一点?

请您参考如下方法:

+= 不是运算符,它是一个语句。不能在表达式中使用语句。

由于 state 是一个整数,只需使用 +,是一个运算符:

state = 1 if state == 4 else state + 1 

最终结果与使用 += 就地添加完全相同。

更好的是,使用 % 模运算符:

state = (state % 4) + 1 

它首先实现了您想要实现的目标;将 state 限制为 1 和 4 之间的值。