Я уверен, что вопрос уже где-то задавался, но у меня нет подходящих ключевых слов, чтобы найти решение ...
Моя проблема заключается в улучшении следующего кода:
I = np.array([True,False])
x = np.array([1,2])
result = f(x) * (1 - I) + g(x) * I
Где на самом деле I
используется в качестве условного: сделайте первое, если я истинен, иначе сделайте второе. f
и g
должны быть (2,) -> (2,) функциями.
Есть ли способ, которым я мог бы написать это так, чтобы 2 функции f
и g
Вычисляются только при необходимости, а не везде? Здесь у меня есть 2 значения, но в приложении у меня есть сотни и тысячи функций.