关于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]
全部评论
相关推荐
01-07 11:46
Java 点赞 评论 收藏
分享
2025-11-18 18:24
北京理工大学珠海学院 嵌入式软件工程师
秋招投简历提醒助手:个人经验是,一般面二十场左右就会进入侃侃而谈阶段。我今年七月末的时候开始的第一次面试,都是很多不会,回复很慢。后面慢慢迭代,到九月中的时候基本上面啥说啥,很放松的状态 点赞 评论 收藏
分享
深信服公司福利 851人发布