numbers1 = [int(a) for a in open('file1.txt').readlines()]
numbers2 = [int(a) for a in open('file2.txt').readlines()]
resul_ls = []
for i in range(len(numbers1)):
result_ls.append(numbers1[i] + numbers2[i])
from itertools import zip_longest
try:
with open("file1") as file1, open("file2") as file2:
numbers1 = [int(line) for line in file1.readlines()]
numbers2 = [int(line) for line in file2.readlines()]
result = [line[0] + line[1] for line in zip_longest(numbers1, numbers2, fillvalue=0)]
except FileNotFoundError:
print("Error opening files")
您可以使用
readlines
和open
以Python列表的形式获取行。然后,你可以把它们一个接一个地加起来,然后用总和做一个新的列表正如你所说,两个列表都有大约10行随机数,假设两个列表的长度相同
第一步是正确地从文件(程序失败的地方)中获取数字,然后将它们添加到新列表中。为了使程序更健壮,我们将捕获一个微不足道的边缘情况(当两个列表的参数数不相同时),作为奖励,您不必硬编码每个文件中的行数:
样本测试:
文件1:
文件2:
您必须注意,文件的行数不同,file1(10)、file2(9),我举了这个例子来说明您的情况下的不确定程度:
请注意,如果您有很长的文件,一次将它们全部读入内存可能不是一个好主意。在这种情况下,您可以同时使用
zip
对它们进行迭代:相关问题 更多 >
编程相关推荐