Python列表未添加,仅替换

时间:2018-10-06 22:29:25

标签: python

我正在尝试做到这一点,因此当您按下button1时,它将在列表中添加“ 1”。因此,按两次按钮应输出[1] [1]。但是,它只打印[1]。请注意,我是python的新手。

def addnumber(a):
   numbers = []
   numbers.append(a)
   print(numbers)
button1 = Button(bottomFrame, text="1", command=lambda: addnumber(1))
button2 = Button(bottomFrame, text="2", command=lambda: addnumber(2))

2 个答案:

答案 0 :(得分:5)

问题在于您正在将png重新初始化为函数内的空列表。因此,每次调用该函数时,都会创建一个空列表numbers,因此先前附加的值会丢失。您需要将numbers移动到函数之外。这样,您只需将其定义为一个空列表,然后在每次调用函数时,这些项便会不断追加/添加。

numbers = []

答案 1 :(得分:0)

这里的问题是,每当按下按钮时,控件就会转到def addnumber(a),其中您已经写了数字= [],然后进行追加。数字的范围仅在addnumbers定义中,因此每次就像您在创建一个新变量然后对其进行赋值一样。尝试全局声明它,然后使用它。

created: async function () { const fetchedObj = await this.getObject() fetchedObj.html = await this.getHtml() this.obj = fetchedObj; console.log(this.obj.html) },