blo321 2021-04-01 12:28 采纳率: 80%
浏览 88
已结题

python 见鬼了,两个列表内存地址不同,改一个表的数据,另一个表也改

a = [[1, 2], [3, 4]]
b = a[:]

print(id(a))
print(id(b))

b[-1][-1] = 5
print(a)
print(b)

print(id(a))
print(id(b))

结果如下:

29949064
128439280
[[1, 2], [3, 5]]
[[1, 2], [3, 5]]
29949064
128439280

  • 写回答

6条回答 默认 最新

  • CSDN专家-ProfSnail 2021-04-01 13:05
    关注

    相当于b是a的引用(C++)。

    请尝试使用深拷贝。

    import copy

    b = copy.deepcopy(a)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 2月17日
  • 已采纳回答 2月9日