Python:返回列表的函数的列表声明的差异

时间:2017-09-07 07:56:15

标签: python python-3.x list

所以我的函数返回一个工作正常的列表,只要我为这个类定义了固定数量的值。 如果我的searchKeys列表中只有三个元素,并且我定义了像returnList = [0,0,0]这样的returnList,我可以在调用函数时打印列表。 但是如果我尝试returnList = []我在调用函数时无法打印列表。

returnList = [0,0,0]
    with open(logfile, "r") as currentFile: # open Eventlog
        for c, info in enumerate(searchKeys): # loop over searchKeys 
            counter = 0
            currentFile.seek(0)
            for line in currentFile: # loop over lines
                if info in line: # search for element
                    counter += 1
                    returnList[c] = counter # this is where I am trying to fill the
    return returnList

1 个答案:

答案 0 :(得分:0)

我想你会因为尝试访问列表中不存在的元素而导致索引超出范围错误。相反,请使用append

returnList[c] = counter

应该是

returnList.append(counter)