python中深浅拷贝的简单讲解(附代码)

不言
发布: 2018-10-27 16:03:55
转载
2130人浏览过

本篇文章给大家带来的内容是关于python中深浅拷贝的简单讲解(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

复习一下,深浅拷贝。

上代码:

# -*- coding: utf-8 -*-
"""
Created on Thu Sep 20 14:18:48 2018

@author: Lenovo
"""

import copy,json

a={"ab":1,"cd":{"ef":2},"gh":[1,2,3]}
print "a1:",a

b=dict(a["cd"])
c=copy.copy(a)
d=copy.deepcopy(a)
e=a["cd"]
a["cd"]["xy"]=3
a["fx"]=5
a["cd"]["ef"]=20
print "a2:",a
print "b :",b
print "c :",c
print "d :",d
print "e :",e
登录后复制

结果:

a1: {'gh': [1, 2, 3], 'ab': 1, 'cd': {'ef': 2}}
a2: {'gh': [1, 2, 3], 'fx': 5, 'ab': 1, 'cd': {'xy': 3, 'ef': 20}}
b : {'ef': 2}
c : {'cd': {'xy': 3, 'ef': 20}, 'ab': 1, 'gh': [1, 2, 3]}
d : {'cd': {'ef': 2}, 'ab': 1, 'gh': [1, 2, 3]}
e : {'xy': 3, 'ef': 20}
登录后复制

从结果可以看出:

dict()命令创建了一个新的字典;

立即学习Python免费学习笔记(深入)”;

Boomy
Boomy

AI音乐生成工具,创建生成音乐,与世界分享.

Boomy 272
查看详情 Boomy

"="赋值 相当于使用了“引用”概念;

copy.copy是浅拷贝,对拷贝的信息进行修改则会相应修改,新增或对其他未拷贝的信息修改,浅拷贝对象是不会有修改;

例如c拷贝的范围是"gh","ab","cd"三个key,若对这三个key的value修改,拷贝后对象会相应修改,但是对其他信息修改,如增加key"fx",拷贝后的对象不会修改。

copy.deepcopy是深拷贝,创建全新的对象。

以上就是python中深浅拷贝的简单讲解(附代码)的详细内容,更多请关注php中文网其它相关文章!

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:CSDN网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号