关于python浅拷贝问题

[[0]*3]*3,这种方式构建二维数组会出现浅拷贝问题,但是[0]*3却不会。感觉这两种方式是一样的,唯一的区别是[[0]*3]*3多套了一层。

举例如下:

栗1
>>> a = [[0]*3]*3
>>> a
        [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>> a[0][0]=1
>>> a
        [[1, 0, 0], [1, 0, 0], [1, 0, 0]]
栗2
>>> a = [0]*3
>>> a
        [0, 0, 0]
>>> a[0] = 1
>>> a
        [1, 0, 0]
全部评论

相关推荐

3 收藏 评论
分享
牛客网
牛客企业服务