Skip to main content
 首页 » 编程设计

python之使用三元运算符分配两个变量

2025年05月04日9lautakyan007

有没有办法在 python 中使用三元运算符进行变量赋值(如下所示):

if(x>1): 
    y="yes" 
else: 
    z="yes" 

类似于(x='yes') if(x>1) else (z='yes'),但这会产生错误。还有其他方法吗?

我知道单变量赋值可以这样完成:x="yes"if(l==0) else "no"

编辑:假设在运行之前为 x、y 和 z 分配了一些值。

请您参考如下方法:

您可以使用以下 hack,它采用元组解包:

y, z = ('yes', z) if x > 1 else (y, 'yes') 

不要错过那些括号。

我真的不推荐使用它,因为它更难理解,有一个冗余的赋值语句,并且不必要地使用解包。我建议尽可能使用普通的 if 语句。

这是普通 if 的情况:

if x > 1: 
    y = 'yes' 
    z = z 
else: 
    y = y 
    z = 'yes'