我的情况:
list = []
def function(x):
if ...:
list.append(x)
else:
list = []
当我尝试将smth添加到我的列表python中时:
UnboundLocalError: local variable 'list' referenced before assignment
我使用python 3,在python 2中我没有任何问题
我们已经看到,当我们使用变量时,它是可能的。我们改变它们,但列表怎么样?
答案 0 :(得分:0)
list = []
def function(x):
if x==1:
list.append(x)
else:
list[:] = []
function(1)
print(list)
答案 1 :(得分:0)
解决上述问题的方法是
list = []
def function(x):
if True:
global list
list.append(x)
else:
list = []
function(12)
print(list)
错误是因为你还没有提到哪个列表,所以列表必须在关键字global的函数中提及,然后我们就可以使用它。 PS True是为了方便而不使用关键字作为变量名。