Python 3.x 数组中的和数

Python 3.x 数组中的和数,python-3.x,Python 3.x,我是Python新手 此时,它们将显示如何对整数列表求和 如果不是一个原始整数列表,而是一个 class Number : def __init__( self, x = 0) : self.number = x def getNumber( self ) : return self.number 将数组中的self.number相加几行(希望如此)的Python代码是什么 试试这个: sum(x.getNumber() for x in l)

我是Python新手

此时,它们将显示如何对整数列表求和

如果不是一个原始整数列表,而是一个

class Number :
   def __init__( self, x = 0) :
      self.number = x      

   def getNumber( self ) :
      return self.number
将数组中的self.number相加几行(希望如此)的Python代码是什么

试试这个:

sum(x.getNumber() for x in l)

顺便说一下,
[1,2,3]
是一个列表,而不是数组。

使用生成器或列表理解:

numbers = [Number(1), Number(2)]
sum(n.getNumber() for n in numbers)

简单地说,它在求和之前对每个项调用方法
getNumber()

我假设您指的是一个列表或另一种iterable:


sum(x.getNumber()表示L中的x)

以下是几种方法:

sum( e.getNumber() for e in L )

sum( e.number for e in L )

reduce( lambda a,b: a + b.getNumber(), L, 0 )  # likewise for e.number

谢谢大家指出我在数组和列表方面的错误。修正了,天哪,谢谢你的态度。但是我还是要感谢你给我展示了几种不同的方法来解决这个问题。等等,如果最后一种方法不是
lambda x,e:x+e.getNumber(),L,0
?如果是python 3.0,我们可以用别的方法来代替reduce()吗?请参阅:@ShaChris23我们在Python3中仍然有reduce,但在functools模块中。因此,请改用
functools.reduce()
。但是知道
reduce
的概念仍然很好。这与
MapReduce
有些(但不是完全)关系,如果你是一名软件工程师,你应该知道这一点。为了公平起见,在讽刺已经被删除的情况下,投赞成票。还是你得分最低的答案:P