小编Pau*_*kov的帖子

两个变量似乎指向同一个列表,即使它们应该是唯一的

我在程序中使用列表,但我不理解以下行为.我已经开始理解可变性以及它如何影响变量赋值,但我没有看到这里的问题:

class Test:
    def __init__(self, list_n):
        list_a = list_n[:]
        list_b = list_n[:]
        print(list_a is list_b) # Prints False
        print(list_a is list_n) # Prints False
        print(list_b is list_n) # Prints False

        list_a[0][0] = 1
        print(list_a) # Both of these print [[1,0,0][0,0,0][0,0,0]]
        print(list_b)

def main():
    list_n = [[0,0,0],[0,0,0],[0,0,0]]
    test = Test(list_n)      

if __name__ == '__main__': main()
Run Code Online (Sandbox Code Playgroud)

双方list_alist_b似乎仍指向同一个列表,即使我想我采取了必要的措施,以防止这种情况发生.

python

2
推荐指数
1
解决办法
240
查看次数

标签 统计

python ×1