@Drovosek01

Почему if в lambda работает нестандартно?

Есть просто функция и лямбда-функция, которые делают одно и то же - возвращают истину, если переданное число больше 100, в противном случае возвращают ложь.
def bigger100(x):
	if x > 100:
		return True
	else:
		return False

bigger100_lambda = lambda x: x if x > 100 else False


Непонятно, почему в "обычной" условной конструкции код, который нужно сделать в случае истины в условии, пишется ПОСЛЕ условия, а в условной конструкции в лямбде - код, который нужно выполнить в случае истинности условия пишется ДО этого условия?
  • Вопрос задан
  • 159 просмотров
Решения вопроса 1
@MadridianFox
Web-программист, многостаночник
Всё в порядке. Просто в питоне вместо тернарного оператора используется конструкция
variable = value_1 if test else value_2
Что аналогично традиционному тернарного оператору
variable = test ? value_1 : value_2
Работает это не только в лямбдах, а везде.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы