字典(Dictionary) copy()方法

dict2 = dict1 这个也叫直接赋值把,作用在同一个对象上;浅拷贝: 引用对象
对象也就是父对象,改变浅拷贝的元素也改变

dict3 = dict1.copy()
浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用
但这里二级目录不拷贝,意思就是父对象改变,浅拷贝的元素也改变。一级目录已经拷贝了,就不随父对象变化而变化

import random

x=list(range(random.randint(3,9))) # random.randint随机变量生成器
print(x)
item = {1:2,2:3}
a = item.copy() # 返回一个字典的浅复制。
item[1] = 3
print(item,a)  # {1: 3, 2: 3} {1: 2, 2: 3}

dict1 =  {'user':'runoob','num':[1,2,3]}
 
dict2 = dict1   # 直接赋值作用在同一个对象上       # 浅拷贝: 引用对象,父对象,改变浅拷贝的元素也改变
dict3 = dict1.copy()   # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用
 
# 修改 data 数据
dict1['user']='root'
dict1['num'].remove(1)
 
# 输出结果
print(dict1) # {'user': 'root', 'num': [2, 3]}
print(dict2) # {'user': 'root', 'num': [2, 3]}
print(dict3) # {'user': 'runoob', 'num': [2, 3]}
posted @ 2021-08-01 19:41  索匣  阅读(318)  评论(0编辑  收藏  举报