Мне было интересно, как лучше всего сделать следующее. Рассмотрим кусочную функцию, которая принимает постоянные значения для разных диапазонов. Например: от t = 0 до t = 2, x = 3 и от t = 2 до t = 4, x = 1. Я определяю кусочную функцию по следующим параметрам:
- список х, например [3,3,1,1,1]
или
- два списка, которые генерируют список x. Приведенный выше пример генерируется с помощью [3,1] (значения x) и [2,3] (как часто они повторяются).
Исходя из этого, я хочу, чтобы скрипт создал следующую функцию, используя приведенный выше пример:
def function(x):
if 0 <= x < 2:
return 3
if 2 <= x <= 4:
return 1
Таким образом, мне нужен какой-то метод, который будет принимать либо список значений x, либо список x и то, как часто они повторяются для создания функции x:
def function(x)
if bound1 <= x < bound2:
return x1
if bound2 <= x < bound3:
return x2
if bound3 <= x < bound4:
return x3
...
if bound_n-1 <= x < bound_n:
return x_n
Я читал о классах и обёртывании функций, но всё ещё немного не уверен относительно того, что было бы лучшим решением для этой проблемы.
Спасибо