2011-11-14 92 views
18

出於某種原因,我不記得如何做到這一點 - 我相信有一種方法可以在Python中設置變量,如果條件爲真?我的意思是這樣的:Python條件變量設置

value = 'Test' if 1 == 1 

凡將希望設爲「測試」如果條件(1 == 1)爲真。然後,我要測試多個條件來設置不同的變量,如下所示:

value = ('test' if 1 == 1, 'testtwo' if 2 == 2) 

依此類推,只有幾個條件。這可能嗎?

回答

32

這是最接近你在找什麼:

value = 'Test' if 1 == 1 else 'NoTest' 

否則,就沒有多少人。

+1

啊,我錯過了'其他',並沒有告訴我我需要一個。我想我應該知道更好,因爲如果條件不相同,它不會被設置爲任何東西。謝謝! – SolarLune

+1

如果它不明顯,你可以鏈接這些(如'如果c1 else v2,如果c2 else v3',value = v1)。另一種方法是使用字典。 – James

2

不。Python有一個三元if/else構造,但是沒有辦法在賦值語句中有條件地綁定一個名稱。