有没有办法在 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'
