我看到下面一段簡單的代碼的一些變化:奇怪的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