python函数——浅拷贝copy()以及深拷贝deepcopy()
时间:2022-07-24
本文章向大家介绍python函数——浅拷贝copy()以及深拷贝deepcopy(),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
0. 前言
在python 中我们想备份一个list
,但是如果改变其中一个值,另外一个也会变,如下所示:
>>> a = b = c = [4,5]
>>> a
[4, 5]
# 改变 a 的值
>>> a.append(7)
>>> a
[4, 5, 7]
>>> b
[4, 5, 7]
>>> c
[4, 5, 7]
>>> a[0] = 1
>>> a
[1, 5, 7]
>>> b
[1, 5, 7]
>>> c
[1, 5, 7]
如果我们只想改变a
的值,另外几个都会原始值,不随其变化而变化,那么我们将使用copy
函数
Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy
模块。
1. deepcopy() 与 copy()
-
copy.copy()
浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。 -
copy.deepcopy()
深拷贝 拷贝对象及其子对象
结合实例会更好理解:
# 原始值
>>> a = [1,2,3,4,["aa", "bb"]]
# 赋值
>>> b = a
# 浅拷贝
>>> c = copy.copy(a)
# 深拷贝
>>> d = copy.deepcopy(a)
# 改变 a 值
>>> a.append(10)
>>> a[4].append("cc")
>>> a
[1, 2, 3, 4, ['aa', 'bb', 'cc'], 10]
>>> b
[1, 2, 3, 4, ['aa', 'bb', 'cc'], 10]
>>> c
[1, 2, 3, 4, ['aa', 'bb', 'cc']]
>>> d
[1, 2, 3, 4, ['aa', 'bb']]
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- IP摄像头RTSP协议网页无插件直播视频平台EasyNVR如何在直播或录像中添加定制化音频?
- three.js之初探骨骼动画
- three.js 自制骨骼动画(一)
- vue 人脸识别 demo
- 最完整的Explain总结,妈妈再也不担心我的SQL优化了
- three.js 自制骨骼动画(二)
- 记一次keepalived和VIP导致的故障
- three.js 着色器材质之初识着色器
- Python爬虫获取豆瓣电影并写入excel
- 教你用Python自动发送和收取邮件的方法
- Python爬虫 爬取糗事百科段子实例分享
- 用Python做一个游戏辅助脚本,完整编程思路分享!
- python获取百度热榜链接的实例方法
- 多图+代码 | 详解Python操作Excel神器openpyxl的各种操作!
- 为了给女朋友独特的七夕惊喜,我学会了人像美肤算法!