2013-07-27 63 views
1

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

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

我还具有可变的,一个类似的列表有两个值,即作为例如:

var = (0, 0) 

我要添加的所有x值在列表,那么所有的y值,然后存放款项在VAR,所以VAR的期望值是:

var = (8, 6) 

我该怎么办?我很抱歉,如果答案是简单的愚蠢,我只需要在睡觉之前完成这件事。

回答

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

应该做你想要什么,我想

+0

事实上,这确实做我需要它;谢谢。 – user2528030

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)