我知道有些人不喜欢它,但我喜欢使用 Python 的三元运算符,因为它使简单的if
/else
语句更易于阅读(我认为)。无论如何,我发现我不能这样做:
>>> a,b = 1,2 if True else 0,0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
我认为三元运算符的工作方式是它基本上构建了以下内容:
if True:
a,b = 1,2
else:
a,b = 0,0
有人可以解释为什么我的第一个代码示例不起作用吗?而且,如果有的话,提供一个单行来有条件地分配多个变量?