list.append(variable)不会追加但替换列表

Tim*_*oka 1 python function list append

我创建了一个创建空列表的函数,并将另一个列表中的值赋给变量.然后,每次调用函数时,代码都应该将变量的值附加到列表中.但该函数不会附加,而是替换列表中的元素.我可以告诉这个,因为当我打印列表时,前一个元素丢失了.代码如下.我需要这个进行模拟检查.有任何想法吗?

def track():
    global tracker
    global trackerresult
    trackerresult = []
    tracker = opposite1[decider]
    trackerresult.append(tracker)
    print(trackerresult)
Run Code Online (Sandbox Code Playgroud)

Dan*_*man 5

这不是附加功能,而是您之前明确替换现有变量两行.

正如CactusWoman指出的那样,你根本不需要全局变量.tracker是一个纯粹的局部变量; 而且trackerresult,一旦你摆脱了任务,你只会改变它,所以没有必要将它声明为全局.