Python 3.x 数组中的和数
我是Python新手 此时,它们将显示如何对整数列表求和 如果不是一个原始整数列表,而是一个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)
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