可变类型和不可变类型的区别和浅拷贝。
① list(list1)这个是对list1里的元素浅拷贝,重新取出创建一个list对象
② list1.append(100) 这个只对list1作用,list1和list2是独立的
③ list1[0].append(3) 这个涉及可变类型的特色点了,list浅复制只是复制了容器的地址,大致意思就是list是一个容器,容器里有啥也不会改变这是个容器。在浅拷贝的时候也只是拷贝了这个容器的位置,不是生成新的容器。所以你list1和list2里面的[0]元素都是指向一个容器的。
④ list1[1] += (50,60) 这个是元祖的拼接,元祖是不可变类型的,拷贝的时候是新的元祖。这里是拼接生成新的元祖然后替换了原来的元祖。所以list2没有影响
① list(list1)这个是对list1里的元素浅拷贝,重新取出创建一个list对象
② list1.append(100) 这个只对list1作用,list1和list2是独立的
③ list1[0].append(3) 这个涉及可变类型的特色点了,list浅复制只是复制了容器的地址,大致意思就是list是一个容器,容器里有啥也不会改变这是个容器。在浅拷贝的时候也只是拷贝了这个容器的位置,不是生成新的容器。所以你list1和list2里面的[0]元素都是指向一个容器的。
④ list1[1] += (50,60) 这个是元祖的拼接,元祖是不可变类型的,拷贝的时候是新的元祖。这里是拼接生成新的元祖然后替换了原来的元祖。所以list2没有影响