【发布时间】:2019-12-04 21:43:32
【问题描述】:
我有以下问题。
我需要读取 x 个文本文件并获取每三个列表的总和。一个例子是:
文件 1
[1.0, 2.0, 3.0]
[3.1, 2.1, 2.1]
[3.4, 3.4, 4.4]
文件 2
[1.0, 2.0, 3.0]
[3.1, 2.1, 2.1]
[3.4, 3.4, 4.4]
结果:
[2.0, 4.0, 6.0]
[6.2, 4.2, 4.2]
[6.8, 6.8, 8.8]
问题是如何将匹配列表求和?
我知道我可以使用 zip 来获取列表的总和,然后打开文件,逐行读取并存储到列表中,但我不确定如何定位正确的总和?
如果只有 2 种情况,我可以用 if 条件检查计数器是偶数还是奇数,但是当有 3 种情况时如何处理呢? Python 有内置的解决方案吗?该解决方案还必须可扩展到包含 3 个列表的 x 数量的文件。这也意味着我不能只列出案例。
【问题讨论】:
-
有什么东西禁止你列出清单吗?这样您打开的每个文件都会输出 1 个包含 3 个列表的列表。这样,您可以简单地使用 len() 来放大和缩小 n 个列表。并且可以简单地使用 for 循环迭代器对它们进行求和
-
是的,没有什么能阻止我这样做,但我如何总结例如第 4 和第 7、第 2、第 5 和第 8、第 3 和第 4 和第 9。这是我在这里遇到的主要问题,我无法找到解决方案
-
那么你有两个嵌套列表的 len 。这是一个索引和一个计数器。然后,您只需根据需要生成您的配对。要将列表分离到相应的列表以求和,我会考虑使用模函数。
标签: python list if-statement