Python:在列表中添加

时间:2013-07-27 16:43:28

标签: python arrays list sum sublist

这可能是我还没有睡觉的事实,但我找不到解决这个问题的方法,所以我来找你们。我有一个列表,其中包含一系列子列表,每个子列表包含两个值,如下所示:

list = (
  (2, 5),
  (-1, 4),
  ( 7, -3)
  )

我还有一个变量,一个带有两个值的类似列表,就是这样:

var = (0, 0)

我想在 list 中添加所有x值,然后添加所有y值,然后将总和存储在 var 中,以便的所需值var 是:

var = (8, 6)

我怎么能这样做?如果答案很简单,我很抱歉,我只需要在睡觉之前完成这件事。

2 个答案:

答案 0 :(得分:6)

sumvar = map(sum,zip(*my_list))

应该做你想要的事情

答案 1 :(得分:0)

这听起来像是“减少”给我的工作:

reduce(lambda a,b: (a[0]+b[0],a[1]+b[1]), list)
(8,6)

你也可以使用另一种列表理解方法,(更具可读性):

sum(a for a,b in tpl), sum(b for a,b in tpl)
(8,6)