全局列表与全局变量赋值

时间:2017-03-20 20:20:28

标签: python list variables global-variables global

我有以下测试代码:

def test():
    m = 1
    l[1] = 1

def main():
    global l
    global m
    m = 0
    l = [0]*3
    test()
    print m
    print l

if __name__ == "__main__":
    main()

在这种情况下,列表'l'的值会更新,而全局变量'm'的值保持不变。如果我在test()中将变量'm'声明为全局,则值会更新。为什么同样的逻辑不适用于列表?更具体地说,为什么我没有看到需要声明列表'l'在test()中是全局的?

0 个答案:

没有答案