python3 list 赋值异常

texbluk 2018-04-29 06:35:27

如图红框框,为什么每个子列表的值都跟着变了?
...全文
1002 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
texbluk 2019-01-04
  • 打赏
  • 举报
回复
引用 6 楼 乞丐的生鱼片 的回复:
[quote=引用 4 楼 hbu_pig 的回复:]
>>> b=[[0,0],[0,0]]
>>> a=[b,b]
>>> a[0][0][0]+=1
>>> a
[[[1, 0], [0, 0]], [[1, 0], [0, 0]]]
>>>

聪明[/quote]
是深复制的问题。前面复制的是引用,不是创建同样的对象,所以一个修改了,全都修改了。
乞丐的生鱼片 2018-05-02
  • 打赏
  • 举报
回复
引用 4 楼 hbu_pig 的回复:
>>> b=[[0,0],[0,0]] >>> a=[b,b] >>> a[0][0][0]+=1 >>> a [[[1, 0], [0, 0]], [[1, 0], [0, 0]]] >>>
聪明
欢乐的小猪 2018-05-02
  • 打赏
  • 举报
回复
>>> a=[[[0,0],[0,0]],[[0,0],[0,0]]] >>> a[0][0][0]+=1 >>> a [[[1, 0], [0, 0]], [[0, 0], [0, 0]]]
欢乐的小猪 2018-05-02
  • 打赏
  • 举报
回复
>>> b=[[0,0],[0,0]] >>> a=[b,b] >>> a[0][0][0]+=1 >>> a [[[1, 0], [0, 0]], [[1, 0], [0, 0]]] >>>
toznm00 2018-05-01
  • 打赏
  • 举报
回复
贴一下源码?···按你这个图片我运行没毛病
oyljerry 2018-04-30
  • 打赏
  • 举报
回复
要看怎么初始化的,看上去是同一个引用
texbluk 2018-04-30
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
要看怎么初始化的,看上去是同一个引用
Type是个List啊,是个List就应该不管这么创建的都一样嘛。

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧