Извините, если это было задано раньше, но я ничего не видел.
По сути, я столкнулся с сценарием, когда мне нужно использовать оператор if внутри лямбда-функции. Что мешает, так это то, что в идеале это должно быть в одной строке кода (если это возможно?)
Обычно я писал бы это:
T = 250
if (T > 200):
rate = 200*exp(-T)
else:
rate = 400*exp(-T)
return (rate)
Однако мне нужно, чтобы он выглядел так:
rate = lambda(T) : if (T>200): return(200*exp(-T)); else: return(400*exp(-T))
Я понимаю, что легче всего было бы принять решение, выходящее за пределы лямбда-функций, а затем иметь отдельную лямбда-функцию для каждого случая, но ее здесь не очень удобно. Функции лямбда хранятся в массиве и доступны, когда это необходимо, причем каждый элемент массива, соответствующий определенной "скорости", поэтому наличие двух отдельных строк для одной и той же "скорости" будет бесполезным. Любая помощь будет принята с благодарностью или если ее невозможно, некоторое подтверждение от других было бы приятным:)