很简单行:为什么这个简单的条件表达式不起作用?
i = 3
a = 2 if i in [1, 3, 6] else a = 7
失败:
SyntaxError: can't assign to conditional expression
而扩展为:
if i in [1, 3, 6]:
a = 2
else:
a = 7
工作正常。
很简单行:为什么这个简单的条件表达式不起作用?
i = 3
a = 2 if i in [1, 3, 6] else a = 7
失败:
SyntaxError: can't assign to conditional expression
而扩展为:
if i in [1, 3, 6]:
a = 2
else:
a = 7
工作正常。
您错误地使用了它。使用这种方式:
a = 2 if i in [1, 3, 6] else 7
呃什么是id * ot,我总是忘记额外的'='。谢谢!我先选择了这个答案,因为它是先添加的。 – Gabriel
应该
a = 2 if i in [1, 3, 6] else 7
你可以把它读作:
a = (((2 if i in [1, 3, 6] else 7)))
这是说,在分配标志的右侧的表达式是充分评估并将结果分配到左侧。表达式本身是两个值由条件分开。
对不起,家伙,我不时忘记额外的'=',结果让人困惑,为什么线路不工作。 – Gabriel