关于浅拷贝的子元素值修改问题

a={1:[4,5,6]} ##浅拷贝 c=a.copy() print("c的内存地址",id(c)) print("c中列表的内存地址",id(c[1])) c[1]=[1,2,3] print(c) print(a) c[1][0]=0 print(c) print(a) print("a的内存地址",id(a)) print("a中列表的内存地址",id(a[1])) ======================================== 输出结果
c的内存地址 101552776
c中列表的内存地址 101522504
{1: [1, 2, 3]}
{1: [4, 5, 6]}
{1: [0, 2, 3]}
{1: [4, 5, 6]}
a的内存地址 101531080
a中列表的内存地址 101522504
 
问题:浅拷贝对于字典 c[1]和a[1]的地址一样。为什么通过c[1][0]对数组值修改之后,a的数组第一个元素值不变?

要回复问题请先登录注册