Настройка условных переменных Python - PullRequest
26 голосов
/ 14 ноября 2011

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

 value = 'Test' if 1 == 1

Где, мы надеемся, установим значение в значение «Тест», если условие (1 == 1) истинно.И после этого я собирался протестировать несколько условий, чтобы установить разные переменные, например:

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

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

Ответы [ 3 ]

46 голосов
/ 14 ноября 2011

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

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

В остальном больше ничего нет.

1 голос
/ 01 сентября 2018

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

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

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

0 голосов
/ 25 июня 2019

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

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...