变量反演的总和

Mil*_*ano 1 python math sum

我怎么能创建一个函数来计算给定列表中所有逆值总和

lst = [1,2,3]

def sum_inv(lst):
   # what to put here? 

sum_inv([1,2,3]) = 1/1 + 1/2 + 1/3
Run Code Online (Sandbox Code Playgroud)

你有什么建议吗?

rfj*_*001 6

这应该做你想要的:

def sum_inv(lst):
   return sum(1/x for x in lst)
Run Code Online (Sandbox Code Playgroud)

正如ozgur在评论中指出的那样,如果lst包含任何0,则会抛出异常.如果你想忽略任何0并避免异常,那么你可以在理解中添加一个检查以忽略这些值.

def sum_inv(lst):
   return sum(1/x for x in lst if x != 0)
Run Code Online (Sandbox Code Playgroud)

  • 无需为此创建列表(除非您遇到python 2.3).只是'返回总和(1/x代表x中的lst)` (4认同)
  • 你应该从列表中排除所有零:`sum(如果x!= 0,则为1(对于x中的x,如果x!= 0)` (3认同)