Подтвердить что ты не робот

Условная настройка переменной Python

По какой-то причине я не могу вспомнить, как это сделать - я считаю, что существует способ установить переменную в Python, если условие было истинным? Я имею в виду следующее:

 value = 'Test' if 1 == 1

Если он надеется установить значение "Test", если условие (1 == 1) истинно. И с этим я собирался протестировать несколько условий для установки разных переменных, например:

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

И так далее только для нескольких условий. Возможно ли это?

4b9b3361

Ответ 1

Это самое близкое к тому, что вы ищете:

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

В противном случае этого не будет.

Ответ 2

Вы также можете сделать:

value = (1 == 1 and 'test') or (2 == 2 and 'testtwo') or 'nope!'

Я предпочитаю так: D

Ответ 3

Нет. Python имеет тройную конструкцию if/else, но нет способа условно связать имя в инструкции присваивания.

Ответ 4

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

Ответ 5

Менее очевидный, но приятный на вид термин:

value = ("No Test", "Test")[1 == 1]