首页 > 其他分享 >浅拷贝与深拷贝

浅拷贝与深拷贝

时间:2024-05-05 16:46:23浏览次数:15  
标签:list 列表 PB PA 拷贝 copy

深拷贝,两个指针(PA,PB)指向同一块内存,PA变化,PB也跟着变化。
深拷贝,两个指针(PA,PB)指向不同内存,PA变化,PB不受影响。

以Python写个demo

import copy

# 原始列表
original_list = [[1, 2, 3], [4, 5, 6]]

# 浅拷贝
shallow_copy = copy.copy(original_list)

# 修改浅拷贝的第一个子列表
shallow_copy[0][0] = 100

# 深拷贝
deep_copy = copy.deepcopy(original_list)

# 修改深拷贝的第一个子列表
deep_copy[0][0] = 200

# 打印原始列表
print("原始列表:", original_list)
# 打印浅拷贝后的列表
print("浅拷贝后:", shallow_copy)
# 打印深拷贝后的列表
print("深拷贝后:", deep_copy)

输出:

标签:list,列表,PB,PA,拷贝,copy
From: https://www.cnblogs.com/code3/p/18173601

相关文章

  • 提高安全性,优雅实现拷贝与交换:C++中的Copy-and-Swap惯用法
     概述:拷贝并交换(Copy-and-Swap)是C++编程中的惯用法,用于实现赋值操作符和确保异常安全的拷贝构造函数。其核心思想是通过拷贝构造函数创建临时副本,再通过交换确保操作的异常安全性。这种方法在C++11之前和之后都适用,但在C++11中,移动语义和右值引用的引入使得实现可以更加高效。......
  • 低开开发笔记(五):修bug-深拷贝与浅拷贝
    好家伙 今天遇到一个bug 0.问题描述描述如下: 代码如下:copynodefunc(){this.copynode=this.model.selected},affixnode(){constid=this.model.selected.wid-1;constgoodnode=this.copynode......
  • Visual Studio 项目发布时将资源目录文件夹所有文件拷贝到发布路径
    1.背景在.NET项目开发过程中,时常需要将资源文件夹复制到生成目录,以确保这些资源随项目输出。2.方法找到当前项目例如:xxxxx.Api 双击进入,对 .csproj文件内容,加入如下信息:<TargetName="CopyResourcesPublish"AfterTargets="Publish"><ItemGroup><Resource......
  • Java引用拷贝、浅拷贝、深拷贝
    原链接在开发、刷题、面试中,我们可能会遇到将一个对象的属性赋值到另一个对象的情况,这种情况就叫做拷贝。拷贝与Java内存结构息息相关,搞懂Java深浅拷贝是很必要的!在拷贝中这里就分为引用拷贝、浅拷贝、深拷贝进行讲述。引用拷贝引用拷贝会生成一个新的对象引用地址,但是两个最......
  • js递归实现深拷贝
    functiongetType(data){returnObject.prototype.toString.call(data).replace(']','').substring(8)}function_clone(data,res){consttype=getType(data)if(type==='Object'){Object.keys(data).map(i=>{......
  • C++ 构造函数实战指南:默认构造、带参数构造、拷贝构造与移动构造
    C++构造函数构造函数是C++中一种特殊的成员函数,当创建类对象时自动调用。它用于初始化对象的状态,例如为属性分配初始值。构造函数与类同名,且没有返回值类型。构造函数类型C++支持多种类型的构造函数,用于满足不同的初始化需求:默认构造函数:不带参数的构造函数,通常用于初......
  • 轻松实现自动化文件传输——利用expect脚本进行SCP拷贝
    轻松实现自动化文件传输——利用expect脚本进行SCP拷贝原创 脚本家园 脚本家园 2024-04-1906:00 云南 听全文在日常生活和工作中,我们经常需要在不同的服务器或计算机之间传输文件。尤其是系统管理员和开发人员,他们经常需要远程复制文件到其他机器上。这时,我们可以利......
  • 树2-二叉树拷贝, 遍历, 计算叶子结点和高度
    树2-二叉树拷贝,遍历,计算叶子结点和高度二叉树结点typedefstructBinaryNode{charch;structBinaryNode*lChild;structBinaryNode*rChild;}BinaryNode;//叶子结点的数量intsum;二叉树遍历前序//递归遍历(前序)voidRecursion(BinaryNode*roo......
  • mysql主从升级(直接先升级主库,旧binlog拷贝到新版本目录,需要停业务)
    环境:OS:Centos7旧版本:mysql5.6新版本:mysql5.71.停掉旧版本数据库确保主从当前没有延迟再停主库,不过有延迟也可以停掉查看从库的状态mysql>showslavestatus\G;***************************1.row***************************Slave_IO_State:Wai......
  • 深度解读《深度探索C++对象模型》之拷贝构造函数
    接下来我将持续更新“深度解读《深度探索C++对象模型》”系列,敬请期待,欢迎关注!也可以关注公众号:iShare爱分享,自动获得推文。写作不易,请有心人到我的公众号上点点赞支持一下,增加一下热度,也好让更多的人能看到,公众号里有完整的文章列表可供阅读。有以下三种情况,一个类对象的初始......