首页 > 解决方案 > 如何正确地将输出附加到空列表

问题描述

我正在我选择的文本文件中查找单词。

def cash_sum(self):
    with open(self.infile.name, "r") as myfile:
        lines = myfile.readlines()

    for line in lines:
        if re.search("AMOUNT", line):
            x = []
            x.append(line[26:29])
            print(x)

我有这个输出:

['100']
['100']
['100']

我想添加它们,这样我就可以从这个文件中获得所有金额的总和。

有什么建议吗?

标签: pythonarrayspython-3.xlistfunction

解决方案


x在行迭代循环之外初始化。

此外,您不需要readlines()单独...

def cash_sum(self):
    x = []
    with open(self.infile.name, "r") as myfile:
        for line in myfile:
            if re.search("AMOUNT", line):
                x.append(line[26:29])
                # or cast to int before appending:
                # x.append(int(line[26:29]))
    return x

推荐阅读