有没有办法将SMTH附加到IF中的全局列表



我的情况:

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仅仅是出于易于度而不将关键字用作变量名称。

相关内容

  • 没有找到相关文章

最新更新