关于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]
全部评论
相关推荐
牛客656013875号:问的题目跟我的一模一样。。
投递顺丰集团等公司10个岗位
点赞 评论 收藏
分享
Java大弟子:985已经够了,其他的什么都不需要
点赞 评论 收藏
分享