Я хочу, чтобы создать список, содержащий одночленов до степени пPython - добавление функции в список
basis = [lambda x:x**i for i in range(0,n+1)]
Это, однако, создает список п функций, но все-таки один (степени п), а не степени 0,1,2, ... п
Я пытался без списка понимания, а также:
basis = []
for i in range(0,n+1):
basis.append(lambda x:x**i)
но с таким же результатом. Подстановка лямбда-функции классическим определением функции также не исправляла ее.
Я проверил Python lambdas and scoping, но это не помогло, так как я не хочу, чтобы хранить значение функции, но сама функция. Например, я хочу, чтобы быть в состоянии назвать
basis[0](34)
и это должно вернуть
1
вы можете сделать это с 'partial' (https://docs.python.org/3/library/functools.html#functools .partial), но вам понадобится объявление функции * надлежащего * –