lst1 = [1,2,3]
lst2 = []
lst2.append(lst1)
print(lst2) # lst2 = [[1,2,3]]
lst1[1]=8
print(lst2) # lst2 = [[1,8,3]]
为什么列表1已经添加到lst2,后续修改lst1也会导致lst2中的元素发生变化?
lst1 = [1,2,3]
lst2 = []
lst2.append(lst1)
print(lst2) # lst2 = [[1,2,3]]
lst1[1]=8
print(lst2) # lst2 = [[1,8,3]]
为什么列表1已经添加到lst2,后续修改lst1也会导致lst2中的元素发生变化?
变量只是指向对应内存区域的引用,当你把lst1加到lst2时,实际是把引用加进去了,当你修改lst1的值时,也就是是在修改对应内存区域存储的值,对应lst2里面的引用也指向该内存区域,所以你才会看到,当你修改lst1时,lst2也会变化