|
发表于 2017-3-31 17:31:30
|
显示全部楼层
本帖最后由 gopythoner 于 2017-3-31 17:32 编辑
据我所知,这种情况是需要弄清楚什么是浅拷贝和深拷贝的问题
不变的:int、string、float、tuple
会变的:list、dictionary
入如果需要保持你的代码中C不变,则需要把C=A改成C=[:]
意思是复制一份A的值,这个就只是获得值而已,不然的话
- A = [1,3,2,4,5,6]
- C = A
- print(C)
- A.sort()
- print(A)
- print(C)
- print("------继续来探讨,发现不仅A能影响C,C也影响了A-----------")
- C.pop()
- print(A)
- print(C)
- print("--------------继续探讨,这样就不会影响了---------------------")
- A = [1,3,2,4,5,6]
- C = A[:]
- print(C)
- A.sort()
- print(A)
- print(C)
复制代码
上述输出结果
- [1, 3, 2, 4, 5, 6]
- [1, 2, 3, 4, 5, 6]
- [1, 2, 3, 4, 5, 6]
- ------继续来探讨,发现不仅A能影响C,C也影响了A-----------
- [1, 2, 3, 4, 5]
- [1, 2, 3, 4, 5]
- --------------分隔线---------------------
- [1, 3, 2, 4, 5, 6]
- [1, 2, 3, 4, 5, 6]
- [1, 3, 2, 4, 5, 6]
复制代码 |
|