首页 > 解决方案 > 过滤掉元组

问题描述

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

我曾尝试使用过滤器和 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))

这个函数工作得很好我只需要添加过滤功能来删除任何以零作为其值之一的元组。

标签: python

解决方案


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

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

输出:

[(3, 2)]

推荐阅读