关于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]
举例如下:
栗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]
全部评论
相关推荐
05-26 17:20
门头沟学院 人工智能
码客明:我教你个方法,你和你室友沟通一下告知他这个事情。然后就说导员问我就说,室友已经和导员提前沟通了。最后被查到你就说室友和我说了他已经和你沟通好了我没想到他是骗我的呀!把责任都甩给你室友,当然你出去实习的室友也肯定愿意承担这个责任。 点赞 评论 收藏
分享
05-16 00:33
哈尔滨工业大学 PCB工程师 点赞 评论 收藏
分享
05-25 18:01
华南理工大学 算法工程师 点赞 评论 收藏
分享
查看19道真题和解析