Gab*_*iel 24 python conditional
非常简单的线条:
i = 3
a = 2 if i in [1, 3, 6] else a = 7
Run Code Online (Sandbox Code Playgroud)
失败了:
SyntaxError: can't assign to conditional expression
Run Code Online (Sandbox Code Playgroud)
而扩展为:
if i in [1, 3, 6]:
a = 2
else:
a = 7
Run Code Online (Sandbox Code Playgroud)
工作良好.
应该
a = 2 if i in [1, 3, 6] else 7
Run Code Online (Sandbox Code Playgroud)
您可以将其读作:
a = (((2 if i in [1, 3, 6] else 7)))
Run Code Online (Sandbox Code Playgroud)
也就是说,完全评估分配符号右侧的表达式,然后将结果分配给左侧.表达式本身是由条件分隔的两个值.