因此我的问题基础是here。毕竟我需要添加列表的元素。在最简单的例子中:
first = [1,2]
second = [6,7]
然后
[x + y for x, y in zip(first, second)]
给出:
#[7,9]
但是我的问题是我通过for循环生成了多个列表。在for循环中,列表没有被存储,因此要看到它们在循环结束时使用print(list)
并打印列表。现在我如何编写代码来查看生成的列表并以上面给定的方式对元素求和?
示例:
l = []
for i in range(2):
l= list(range(5))
print(l)
以上产生:
#[0, 1, 2, 3, 4]
#[0, 1, 2, 3, 4]
如何在for循环中添加一行来汇总列表的逐个元素:
#[0, 2, 4, 6, 8]
答案 0 :(得分:1)
使用变量保存总计,并在循环中更新
totals = [0]*5
for i in range(5):
l = list(range(5))
totals = [x + y for x, y in zip(totals, l)]
print totals
或者您可以将所有列表保存在另一个列表中,然后使用您原来的想法:
all_lists = []
for i in range(5):
l = list(range(5))
all_lists.append(l)
totals = [sum(lists) for lists in zip(*all_lists)]
答案 1 :(得分:0)
据我所知,这是另一种方法,即使用运算符add
。
from operator import add
n=5
l = [0]*n
for i in range(2):
l = map(add, l, range(n))
print([x for x in l])
<强>输出:强>
[0, 2, 4, 6, 8]