Python入门题051深拷贝(三种方法)
题目:
比较深拷贝和浅拷贝的区别,用不同方法实现深拷贝。
#python #json #pickle #copy 视频教程:
Python入门题051:深拷贝(三种方法)
代码: 小明 = {"score": 60} 一月成绩 = {"小明": 小明} # 浅拷贝 二月成绩 = 一月成绩 三月成绩 = {} 三月成绩.update(一月成绩) 二月成绩["小明"]["score"] = 1 # 都输出了:{"小明": {"score": 1}} print(一月成绩) print(二月成绩) print(三月成绩)
代码: import json 小明 = {"score": 60} 一月成绩 = {"小明": 小明} 二月成绩 = json.loads(json.dumps(一月成绩)) 二月成绩["小明"]["score"] = 1 print(一月成绩) # {"小明": {"score": 60}} print(二月成绩) # {"小明": {"score": 1}}
代码: import pickle 小明 = {"score": 60} 一月成绩 = {"小明": 小明} 二月成绩 = pickle.loads(pickle.dumps(一月成绩)) 二月成绩["小明"]["score"] = 1 print(一月成绩) # {"小明": {"score": 60}} print(二月成绩) # {"小明": {"score": 1}}
代码: import copy 小明 = {"score": 60} 一月成绩 = {"小明": 小明} 二月成绩 = copy.deepcopy(一月成绩) 二月成绩["小明"]["score"] = 1 print(一月成绩) # {"小明": {"score": 60}} print(二月成绩) # {"小明": {"score": 1}}