0

可能重复:
在 Python 中合并/添加列表

nested_list= [[1, 3, 5], [3, 4, 5]]
sum_of_items_in_nested_list = [4, 7, 10]

我正在尝试创建一个嵌套的 for 循环,它将在每个相应的索引处添加获取项目并将其添加到同一索引处的另一个嵌套列表中。所以上面添加了 nested_list[0][0] + nested_list[1][0]nested_list[0][1] + nested_list[1][1]依此类推。我想在不导入和模块的情况下做到这一点。这可能很容易,但我玩得很开心。

4

3 回答 3

4

使用zip()

In [44]: nested_list= [[1, 3, 5], [3, 4, 5]]

In [45]: [sum(x) for x in zip(*nested_list)]
Out[45]: [4, 7, 10]

另一种方式,使用嵌套循环:

In [6]: nested_list= [[1, 3, 5], [3, 4, 5]]

In [7]: minn=min(map(len,nested_list))   #fetch the length of shorted list

In [8]: [sum(x[i] for x in nested_list) for i in range(minn)]
Out[8]: [4, 7, 10]
于 2012-10-28T16:41:06.213 回答
0

这是您案例的答案,您可以使用它len()来更改列表的长度。

nested_list= [[1, 3, 5], [3, 4, 5]]

sum_of_items_in_nested_list=[]
for j in range(0,3,1):
    result=0
    for i in range(0,2,1):
         result=result+nested_list[i][j]
         sum_of_items_in_nested_list = sum_of_items_in_nested_list + [result]
于 2012-10-28T20:20:52.077 回答
0

你也可以考虑这个解决方案:

map(int.__add__,*nested_list)

更好的风格:

from operator import add
map(add,*nested_list)
于 2012-10-28T18:39:02.787 回答