我已经生成了几个函数。
find_derivative只是简单地使用乘积规则取几个项的导数,并生成一个新方程。
所以如果我输入3x ^ 2 + 2x ^ 3
我得到6x + 6x ^ 2
在输出[[6,1),(6,2)]
但是我想在任何时候以输出以0开头的元组结束时都进行过滤
def find_derivative(function_terms):
new_function = []
for term in function_terms:
new_term = find_term_derivative(term)
new_function.append(new_term)
filtered_list = list(filter(lambda x: x != 0, new_function))
return filtered_list
输入[[3,2),(-11,0)]的预期结果 应该 [(6,1)] 但是此代码并未删除第二项[0,-1]
编辑:导数函数
def find_term_derivative(term):
x, y = term
new_term = (x*y, y-1)
return new_term
答案 0 :(得分:0)
您对过滤器有正确的想法,但请看一下您编写的lambda。您正在根据条件lambda x : x != 0
进行过滤,该条件将检查列表中的元素是否不为零。
但是列表中的元素是元组,并且您要检查元组中只有第一个数字是否为零,因此您需要将条件更新为lambda x : x[0] != 0
。