我的情况:
list = []
def function(x):
if ...:
list.append(x)
else:
list = []
当我尝试将smth添加到我的列表python时:
UnboundLocalError: local variable 'list' referenced before assignment
我使用Python 3,在Python 2中我没有任何问题
我已经看到使用变量时可能是可能的。我们更改它们,但是列表呢?
list = []
def function(x):
if x==1:
list.append(x)
else:
list[:] = []
function(1)
print(list)
上述问题的工作是
list = []
def function(x):
if True:
global list
list.append(x)
else:
list = []
function(12)
print(list)
错误是因为您尚未提及哪个列表,因此必须使用关键字Global在功能中提到列表,然后我们可以使用它。ps true仅仅是出于易于度而不将关键字用作变量名称。