python - 在 for 循环中总结列表的元素
问题描述
所以我的问题的基础在这里给出。毕竟我需要添加列表的元素。在最简单的例子中:
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]
解决方案
使用一个变量来保存总数,并在循环中更新它
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)]
推荐阅读
- .net - 在 Parallel.ForEach 中运行更新查询时,在 .NET 中取消了雪花 SQL 执行
- javascript - 如何在 React 的 localStorage 中设置用户的首选语言
- java - 运行 .class 或 .java 之间是否存在有意义的区别?
- python - 解析 ISO 字符串至今
- postgresql - 具有适度步骤数据库设计的博客文章修订
- docker - 如何在具有附加功能的 docker 容器中运行脚本(docker exec ... --cap-add ...)
- macos - docker 是如何在 mac 中使用 apt-get 的?
- string-interpolation - 在 Angular 10 中的组件之间传递信息(console.log 有效,但插值无效)
- azure - Azure CLI - 如何更新磁盘加密设置
- sql - 如何使用 Powershell 从多个数据库中查询数据并将所有内容保存到一个 CSV 文件中?