python3 list深浅拷贝

下面代码示例不是拷贝:

a = [1, 2, 3, 4, 5]

b = a

print(id(a))

print(id(b))

print(id(a[0]))

print(id(b[0]))

>>>3159527737608

>>>3159527737608

>>>1839268304

>>>1839268304

内存管理图

1.png

list浅拷贝三种方法:

1、list的切片

a = [[1, 2], 3, 4, 5]

b = a[:]

print(b)    # [[1, 2], 3, 4, 5]

2、导入copy模块

import copy

a = [[1, 2], 3, 4, 5]

b = copy.copy(a)

print(b)    # [[1, 2], 3, 4, 5]

3、list的copy()方法

a = [[1, 2], 3, 4, 5]

b = a.copy()

print(id(a))    # 1811054808264

print(id(b))    # 1811054808200

print(id(a[0]))    # 1839268304

print(id(b[0]))    # 1839268304

b[1] = 1111

print(a)    # [[1, 2], 3, 4, 5]

print(b)    # [[1, 2], 1111,4, 5]

b[0][0] = 1111

print(a)    # [[1111, 2], 3, 4, 5]

print(b)    # [[1111, 2], 3, 4, 5]

2.png

深复制

import copy

a = [[1, 2], 3, 4, 5]

b = copy.deepcopy(a)

a[0][0] = 111

b[1] = 22

print(a)    # [[111, 2], 3, 4, 5]

print(b)    # [[1, 2], 22, 4, 5]

python深浅复制_python3 深浅拷贝(复制)相关推荐

  1. python怎么设置颜色深浅变化_python基础之数据类型操作补充,集合及其操作,深浅拷贝...

    内容概要: 数据类型操作补充 集合及其操作 深浅拷贝 1.基础数据类型补充 1.1字符串的操作补充 li = ["李嘉诚", "麻花藤", "黄海峰& ...

  2. Python中将pandas的dataframe拷贝到剪切板并保持格式实战:to_clipboard()函数、复制到Excel文件、复制到文本文件(默认是tsv格式)、复制到文本文件(设置逗号分隔符)

    Python中将pandas的dataframe拷贝到剪切板并保持格式实战:to_clipboard()函数.复制到Excel文件.复制到文本文件(默认是tsv格式).复制到文本文件(设置逗号分隔符) ...

  3. [转载] Python列表拷贝复制函数copy()函数的作用

    参考链接: Python list | copy 列表是可变类型数据,且实际操作过程中经常需要队列表进行增加.删除.修改列表里面的元素, 所以经常需要复制拷贝原始列表进行备份. Python使用cop ...

  4. Python中对象的引用与复制

    在python进行像b = a这样的赋值时,只会创建一个对a的新引用,使a的引用计数加1,而不会创建新的对象: >>> a = 'xyz' >>> import s ...

  5. copy 修改时间_DAY5-step3 Python用shutil.copy(), shutil.copystat()复制文件

    Python复制文件的方法 Python提供了内置函数,可使用操作系统Shell工具轻松复制文件. 以下命令用于复制文件 shutil.copy(src,dst) 以下命令用于复制带有元数据信息的文件 ...

  6. 复制构造函数(拷贝构造函数)

    也许很多C++的初学者都知道什么是构造函数,但是对复制构造函数(copy constructor)却还很陌生.对于我来说,在写代码的时候能用得上复制构造函数的机会并不多,不过这并不说明复制构造函数没什 ...

  7. C++——构造函数(拷贝构造,拷贝复制),析构函数,操作符重载

    C++--构造函数(拷贝构造,拷贝复制),析构函数,操作符重载 构造函数与析构函数:: 涉及构造函数还可以看这篇文章C++搞懂深拷贝初始化=与赋值=的区别 1.声明和定义构造函数和析构函数 构造函数在 ...

  8. C++深复制(深拷贝)、浅复制(浅拷贝)和复制构造函数(拷贝构造函数)详解+实例

    转载出处:https://blog.csdn.net/sxhelijian/article/details/23209967 对象的复制 对于普通类型的对象来说,它们之间的复制是很简单的,例如: in ...

  9. GDCM:拷贝/复制DataSet的测试程序

    GDCM:拷贝/复制DataSet的测试程序 GDCM:拷贝/复制DataSet的测试程序 GDCM:拷贝/复制DataSet的测试程序 #include "gdcmReader.h&quo ...

  10. Qt/C++工作笔记-vector与QVector的拷贝复制(区别与联系)

    [注意:不要一个个遍历去赋值,有专门的函数可以拷贝复制] 首先是传统的vector. 他的拷贝复制有3种,一是构造函数,二是利用assign函数,三是利用swap函数. 代码如下: #include ...

最新文章

  1. BC25通过LWM2M连接电信AEP(ctwing)
  2. Binary Matrix Transform
  3. MySQL 5.7临时表空间怎么玩才能不掉坑里
  4. android 参数 attrs.xml,使用attrs.xml自定义属性
  5. 19生成材料清单_SOLIDWORKS 钣金装配体材料明细表扩展应用
  6. c语言用switch计算器,超级新手,用switch写了个计算器程序,求指导
  7. php 存储过程 sqlsrv_query,php-PHP如何得用sqlsrv函数来调用MSSQL中的存储过程,并返回数据集?...
  8. android studio 应用全屏页,Android开发之设置应用设置全屏的两种解决方法 兼容android5.0等两种解决方法...
  9. win10系统steam登陆计算机授权,Steam怎样取消电脑授权 设置里面有
  10. java excel 边框颜色_java(jxl) 改变excel表格背景及边框
  11. 彩虹php域名授权系统,彩虹云域名授权系统(正版源码+教程)
  12. 深度:老年消费品细分领域潜藏爆品机会,老花镜市场6000万风险投资揭示老年消费升级背后的创新机会!
  13. Codeforces Round #476 (Div. 2) 题解
  14. [C++]派(二分算法)
  15. 实现企业微信自动登录
  16. 【一周头条盘点】中国软件网(2018.5.7~2018.5.11)
  17. 简单工厂、工厂、抽象工厂
  18. Java 实现简单的发红包代码
  19. 前端传来的图片并保存_前端处理后端接口传递过来的图片文件
  20. 苹果三代耳机_华强北airpods2 华强北三代耳机 airpodspro可调通透 主动降噪 定位改名 苹果airpodspro...

热门文章

  1. 在Code First中自动创建Entity模型
  2. 用堆栈和用递归分别实现倒序打印
  3. 人一生的8种朋友(看看身边的朋友属于哪种)
  4. SpringMVC全局异常处理机制常见问题及底层实现分析
  5. yum 安装 sz与rz(上传、下载)
  6. SpringBoot整合Atomikos实现2PC二阶段分布式事务
  7. 【Hoxton.SR1版本】Spring Cloud Eureka服务注册中心单节点搭建
  8. Nacos集群(二)阿里自研弱一致性Distro协议核心实现
  9. LeetCode算法题-Binary Number with Alternating Bits(Java实现)
  10. 2018-2019-1 20189218《Linux内核原理与分析》第二周作业