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