出于某种原因,我不记得怎么做了 - 我相信有一种方法可以在Python中设置变量,如果条件为真的话?我的意思是:
value = 'Test' if 1 == 1
如果条件(1 == 1)为真,则希望将 value 设置为'Test'。有了这个,我打算测试多个条件来设置不同的变量,如:
value = ('test' if 1 == 1, 'testtwo' if 2 == 2)
等等只是为了几个条件。这可能吗?
答案 0 :(得分:43)
这是你最接近你想要的东西:
value = 'Test' if 1 == 1 else 'NoTest'
否则,没有别的。
答案 1 :(得分:1)
您也可以这样做:
value = (1 == 1 and 'test') or (2 == 2 and 'testtwo') or 'nope!'
我更喜欢这种方式:D
答案 2 :(得分:0)
value = [1, 2][1 == 1]
;)
...嗯,我想这也会起作用:
value = ['none true', 'one true', 'both true'][(1 == 1) + (2 == 2)]
并不是完全好的编程习惯或可读代码,但至少是有趣且紧凑的。 Python将布尔值视为数字,因此True为1,False为0。[1, 2][True] = 2
,[1, 2][False] = 1
和[1, 2, 3][True + True] = 3
答案 3 :(得分:-1)
少见但美观的术语:
value = ("No Test", "Test")[1 == 1]