附加到列表会覆盖它

Appending to list overwrites it

我正在制作一个包含会话时间的列表框,但是当我尝试将列表框项目附加到列表时,它已经覆盖了其中的所有条目。为什么会这样?

from Tkinter import *
class Main(object):
        def __init__(self, root):
            self.f2=Frame(root)
            self.f2.grid()
            Label(self.f2, text="Sesion Date:").grid(row=3, column=0)
            self.e=Entry(self.f2)
            self.e.grid(row=3, column=1)
            Button(self.f2, text="Add Session", command=self.session).grid(row=4, columnspan=2)
            self.sessionbox=Listbox(self.f2)
            self.sessionbox.grid(row=5, columnspan=2)
        def session(self):
            if len(self.e.get()) == 0: 
                tkMessageBox.showinfo("Add Session", "Please type a session date\nbefore submitting")
            else:
                self.sessionlist=[]
                self.sessionlist.append("%s" % (self.e.get()))
                print self.sessionlist
                self.sessionbox.insert(0, "%s" % (self.e.get()))
                self.e.delete(0, END)

root=Tk()
app=Main(root)
root.mainloop()

每次您重新初始化列表时 (self.sessionlist=[]) ...我认为您必须全局访问它。在外面初始化它。