王剑编程网

分享专业编程知识与实战技巧

学习编程第194天 python编程 copy与deepcopy方法复制字典



今天学习的是刘金玉老师零基础Python教程第90期,主要内容是copy与deepcopy方法复制字典数据。

一、字典的数据赋值

默认情况下,将某个字典A的值通过通过=号赋值给字典B,如果修改了字典A,那么字典B的内容相应也要改变,通过等号赋值实际上是字典B指针的指向产生了变化而已。

案例:

dicA={"bb":"老刘","cc":['小林','小红'],"aa":"老张"}

print(dicA)

dicB=dicA

dicA["aa"]="张三丰"

print("dicB",dicB)

二、字典的数据的复制

1.方法一:字典自带的copy方法。这个方法只针对于一级的键值对复制有效。对于二级数据及更深层次的数据,仍然只是一个指针指向效用,修改被复制的数据,复制的结果仍然要改变。

案例:

dicA={"bb":"老刘","cc":['小林','小红'],"aa":"老张"}

print(dicA)

dicB=dicA.copy()

dicA["aa"]="张三丰"

print("dicB",dicB)

print(dicA)

print("************************")

dicA["cc"][0]="小铃铛"

print("dicB",dicB)

print(dicA)

2.方法二:使用copy库中的deepcopy方法。可以对字典数据进行深度复制。

from copy import deepcopy

dicA={"bb":"老刘","cc":['小林','小红'],"aa":"老张"}

print("dicA",dicA)

dicB=deepcopy(dicA)

dicA["cc"][0]="小铃铛"

print("dicB",dicB)

print("dicA",dicA)

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言