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

深浅拷贝

时间:2023-07-05 09:46:58浏览次数:48  
标签:深浅 ls print new 拷贝 copy dt user

# 深浅拷贝
ls = [1, 2, 3, ['python', 'java']]
dt = {
    'info1': {'id' : 1, 'user' : 'root'},
    'info2': {'id' : 2, 'user' : 'admin'}
}
ls_new = ls.copy()
dt_new = dt.copy()
ls_new[3][0] = 'python3'
dt_new['info1']['user'] = 'admin'
print(ls)
print(dt)

import copy
ls_new = copy.deepcopy(ls)
dt_new = copy.deepcopy(dt)
ls_new[3][0] = 'python3'
dt_new['info1']['user'] = 'admin'
print(ls)
print(dt)

标签:深浅,ls,print,new,拷贝,copy,dt,user
From: https://www.cnblogs.com/hacker-dvd/p/17527684.html

相关文章

  • 40.什么情况下会调用拷贝构造函数
    40.什么情况下会调用拷贝构造函数用类的一个实例化对象去初始化另一个对象的时候函数的参数是类的对象时(非引用传递)函数的返回值是函数体内局部对象的类的对象时,此时虽然发生(NamedreturnValue优化)NRV优化,但是由于返回方式是值传递,所以会在返回值的地方调用拷贝构造函数......
  • Map浅拷贝与深拷贝
    参考网址:https://blog.csdn.net/yydqmyhdnl/article/details/51094556?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-51094556-blog-127034199.235%5Ev38%5Epc_relevant_sort&depth_1-utm_source=distri......
  • 28.拷贝初始化和直接初始化
    ●当用于类类型对象时,初始化的拷贝形式和直接形式有所不同:直接初始化直接调用与实参匹配的构造函数,拷贝初始化总是调用拷贝构造函数。拷贝初始化首先使用指定构造函数创建一个临时对象,然后用拷贝构造函数将那个临时对象拷贝到正在创建的对象。举例如下stringstr1("Iamastring......
  • java List复制:浅拷贝与深拷贝
    Java的拷贝可以分为三种:浅拷贝(ShallowCopy)、深拷贝(DeepCopy)、延迟拷贝(LazyCopy)。在java中除了基本数据类型之外(int,long,short等),还存在引用数据类型,例如String以及对象实例。对于基本数据类型,实际上是拷贝它的值,而对于引用数据类型,拷贝的就是它的引用,并没有创建一个新的......
  • NIO效率高的原理之零拷贝与直接内存映射
    零拷贝零拷贝是指避免在用户态(User-space)与内核态(Kernel-space)之间来回拷贝数据的技术。传统IO传统IO读取数据并通过网络发送的流程,如下图   传统IOread()调用导致上下文从用户态切换到内核态。内核通过sys_read()(或等价的方法)从文件读取......
  • NIO效率高的原理之零拷贝与直接内存映射
    零拷贝零拷贝是指避免在用户态(User-space)与内核态(Kernel-space)之间来回拷贝数据的技术。传统IO传统IO读取数据并通过网络发送的流程,如下图传统IOread()调用导致上下文从用户态切换到内核态。内核通过sys_read()(或等价的方法)从文件读取数据。DMA引擎执行第一次拷贝:从文件读取......
  • [转]Java如何对一个对象进行深拷贝
    介绍在Java语言里,当我们需要拷贝一个对象时,有两种类型的拷贝:浅拷贝与深拷贝。浅拷贝只是拷贝了源对象的地址,所以源对象的值发生变化时,拷贝对象的值也会发生变化。而深拷贝则是拷贝了源对象的所有值,所以即使源对象的值发生变化时,拷贝对象的值也不会改变。如下图描述:了解了浅拷......
  • 深拷贝和浅拷贝的区别和与原理
    感谢参考文章:https://blog.csdn.net/weixin_45753447/article/details/124290929一、基本类型和引用类型string,number,boolean,null,undefined,symbolFunction,Array,Object基本类型是按值访问的,引用类型是按引用访问基本类型和引用类型也有人叫原始类型和对象类型,拥有......
  • 深拷贝和浅拷贝
    (1)浅拷贝【新旧对象共享同一块内存】创建新对象基本类型:拷贝基本类型的值引用类型:拷贝指针(内存地址),不拷贝对象本身,其中一个对象改变地址,影响另一个对象方法:for-in遍历对象展开运算符...Object.assign()使用lodash提供的函数_.clone()(2)深拷贝【新......
  • js递归简易深拷贝
    letobj={a:1,b:{b1:1,b2:2},c:[1,2,3]}functiondeepClone(obj){letresult=Array.isArray(obj)?[]:{}for(letkeyinobj){if(obj.hasOwnProperty(key)){if(obj[key]&&typeofobj[key]==&......