如何获得列表或数组的和?

2024-06-26 15:02:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表/数组,我想得到所有值的和。我一直在尝试:

@w12,@sv2,@sv4,@sv6,@sv8,@sv10,@sv12=75,95,110,104,101,110,116
@supers = [["5", @w12], ["6", @w12], ["7", @w12], ["8", @w12], ["16", @w12], ["17", @w12], ["18", @w12], ["9", @sv2], ["11", @sv2], ["12", @sv2], ["13", @sv2], ["14", @sv2], ["15", @sv2], ["19", @sv4], ["23", @sv4], ["24", @sv4], ["25", @sv4], ["26", @sv4], ["28", @sv6], ["29", @sv6], ["30", @sv6], ["31", @sv6], ["32", @sv6], ["33", @sv6], ["35", @sv8], ["36", @sv8], ["37", @sv8], ["38", @sv8], ["39", @sv8], ["40", @sv8], ["41", @sv8], ["42", @sv8], ["43", @sv8], ["44", @sv8], ["45", @sv8], ["46", @sv8], ["47", @sv8], ["48", @sv8], ["49", @sv8], ["50", @sv8], ["52", @sv10], ["53", @sv10], ["55", @sv10], ["57", @sv10], ["58", @sv10], ["59", @sv10], ["60", @sv10], ["61", @sv10], ["62", @sv10], ["63", @sv10], ["64", @sv10], ["65", @sv10], ["66", @sv10], ["68", @sv2], ["71", @sv12], ["72", @sv12], ["73", @sv12], ["74", @sv12], ["75", @sv12], ["76", @sv12], ["77", @sv12], ["78", @sv12], ["79", @sv12], ["80", @sv12], ["81", @sv12], ["82", @sv12], ["83", @sv12], ["84", @sv12]]
def getSum
    sum = 0
    @supers.each do |weight,number|
           sum += number
    end
    return sum
end

在Python中,我会这样做:

def getSum():
   total sum([x[1] for x in supers])
   return total

我该怎么解决这个问题?总数应该达到7034个。你知道吗


Tags: numberreturndefendtotalsumw12getsum
1条回答
网友
1楼 · 发布于 2024-06-26 15:02:28

你能做到的

@supers.map(&:last).inject(:+)

首先用^{}得到一个包含所有数字的数组,然后用^{}将它们全部相加。你知道吗

相关问题 更多 >