我看到下面一段简单的代码的一些变化:奇怪的Python的布尔运算符
if dist_1>dist_2 :
print enemy_2
else:
print enemy_1
变化1:
print (enemy_1, enemy_2)[dist_1 > dist_2]
变化2:
e1, d1, e2 = (raw_input() for _ in '123')
print (e1, e2)[d1 > raw_input()]
能有人请解释print (x,y)[x>y]
代码的工作原理是什么?
我在这里添加了一个python 2标签,因为我确信这在Python 3中不起作用 –
它只是一个元组,根据'x> y'的结果访问0或1 ... – Li357
@MadPhysicist它没有花时间在3.6.0下进行测试。有用! – Jules