在嵌套列表中添加值

时间:2012-10-28 16:38:15

标签: python

  

可能重复:
  Merging/adding lists in 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]等等。我想在没有导入和模块的情况下这样做。这可能很容易,但我有一段时间的魔鬼。

3 个答案:

答案 0 :(得分: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]

答案 1 :(得分:0)

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

map(int.__add__,*nested_list)

更好的风格:

from operator import add
map(add,*nested_list)

答案 2 :(得分: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]