过滤出元组

时间:2019-07-09 20:56:23

标签: python

我在更改创建的函数时遇到一些麻烦,该函数计算了多变量函数的导数。该函数接受作为元组的函数,例如3x ^ 2-11由我的代码内的列表表示。我想改变我的功能,使其过滤掉任何以零作为其值之一的元组。因此,在此示例中,我将必须删除第二个元组,第二个元组的值为零。任何帮助将不胜感激。

我尝试使用filter和lambda表达式,但是我是python的新手,在尝试将其应用于列表中的元组时感到困惑。

three_x_squared_minus_eleven = [(3, 2), (-11, 0)]

def find_derivative(ft):
   i=0
   Length= list(range(len(ft)))
   result=()
   for term in Length:
      Multi_prime=((ft[i][1]*ft[i][0]),(ft[i][1]-1))
      result+=(Multi_prime,)
      i+=1
   return result


Result=(find_derivative(three_x_squared_minus_eleven))

此函数运行良好,我只需要添加过滤功能即可删除任何以零作为其值之一的元组。

1 个答案:

答案 0 :(得分:0)

您可以使用列表推导来过滤出任何包含0的元组:

ft = [(3, 2), (-11, 0)]
ft = [x for x in ft if 0 not in x]    
print(ft)    

输出:

[(3, 2)]