我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python深浅copy

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python深浅copy

深copy和浅copy


深copy:不仅copy变量的指针,还copy指针指向的数据

这里需要提到一个新名词,指针:变量和内存中数据的一种引用关系。变量通过指针对应到内存中的数据
Python深浅copy

在列表、元组、字典、集合中可以使用深copy

list=[1,2,3];

copy的作用是将列表拷贝出一份

newlist=list.copy();
>>>print(list);
[1,2,3]
>>>print(newlist);
[1,2,3]

如果修改newlist中的某一个元素,不会影响到list列表中本来的的元素(深copy)

>>>newlist[2]='hehe';
>>>print(list)
[1,2,3]
>>>print(newlist)
[1,2,hehe]

浅copy:只copy了指针(一份内存的引用),而在内存中保存的数据,还是仅仅只有一份

Python深浅copy
在列表、元组、字典出现copy操作的时候会发生浅copy

>>>lists=[[1,2,3],3,4];
>>>newlists=lists.copy();
>>>print(newlists)
[[1,2,3],3,4]

改变newlists中元素的时候,如果修改,那么会影响到lists

>>>newlists[0][2]='hiahia';
>>>print(lists)
>>>[[1, 2, 'hiahia'], 3, 4]
>>>print(newlists)
>>>[[1, 2, 'hiahia'], 3, 4]

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python深浅copy

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python深浅copy

深copy和浅copy深copy:不仅copy变量的指针,还copy指针指向的数据这里需要提到一个新名词,指针:变量和内存中数据的一种引用关系。变量通过指针对应到内存中的数据在列表、元组、字典、集合中可以使用深copylist=[1,2,3
2023-01-31

深浅copy

一. 赋值运算1 s1 = [1, 2, 3, ["barry", "alex"]]2 s2 = s13 4 s1[0] = 1115 print(s1) # [111, 2, 3, ['barry', 'alex']]6 print
2023-01-30

python3之深浅copy对比

一、赋值对比1、列表l1 = [1,2,3]l2 = l1l1.append('a')print(l1,l2)               #[1, 2, 3, 'a'] [1, 2, 3, 'a']print(id(l1),id(l2))
2023-01-31

图解Python中浅拷贝copy()和深拷贝deepcopy()的区别

这篇文章主要介绍了Python中浅拷贝copy()和深拷贝deepcopy()的区别,浅拷贝和深拷贝想必大家在学习中遇到很多次,这也是面试中常常被问到的问题,本文就带你详细了解一下
2023-05-19

Python深浅拷贝

深浅拷贝深浅拷贝分为两部分,一部分是数字和字符串另一部分是列表、元组、字典等其他数据类型。数字和字符串对于数字和字符串而言,赋值、浅拷贝和深拷贝无意义,因为他们的值永远都会指向同一个内存地址。# 导入copy模块>>> import cop
2023-01-31

Python中的复制操作及copy模块中的浅拷贝与深拷贝方法

程序中常常需要复制一个对象, 按思路应该是这样的a = [1, 2, 3] b = a# [1, 2, 3] print b 已经复制好了,但是现在得改变一下第一个元素的值把它改成5b[0] = 5 # [5, 2, 3] print b
2022-06-04

python之深浅拷贝

深浅拷贝对于 数字 和 字符串 而言,赋值、浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址。import copy# ######### 数字、字符串 #########n1 = 123# n1 = "age 10"print(id(n
2023-01-31

python深拷贝浅拷贝

python深拷贝和浅拷贝问题:  什么是深拷贝?    (个人理解)深拷贝就是将原有的数据一模一样的拷贝一份,然后存到另一个地址中,而不是引用地址  什么是浅拷贝?    (个人理解)就是引用地址(1)用等于号的拷贝都属于浅拷贝     
2023-01-30

Python学习 :深浅拷贝

深浅拷贝 一、浅拷贝只拷贝第一层数据(不可变的数据类型),并创建新的内存空间进行储蓄,例如:字符串、整型、布尔除了字符串以及整型,复杂的数据类型都使用一个共享的内存空间,例如:列表列表使用的是同一个内存地址,指向原拷贝的值,即使用的是原本的
2023-01-30

python深拷贝与浅拷贝

可变对象与不可变对象要理解深拷贝和浅拷贝,首先要理解可变对象和不可变对象。不可变对象:该对象所指向的内存中的值不能被改变,修改对象的值时,由于其指向的值不能被改变,因此实际上是在内存中重新开辟一个地址用来存储新的值,然后将对象指向这个新值。
2023-01-30

python浅拷贝和深拷贝

python中的赋值是按引用来传递的,如果不是赋值而是拷贝,那就需要用到copy模块了,这就不得不谈浅拷贝和深拷贝了。 浅拷贝copy() #!/usr/bin/python  import copy  class MyClass:    
2023-01-31

python高级-深浅拷贝(16)

一、浅拷贝浅拷贝是对一个对象的顶层拷贝,通俗地讲就是:拷贝了引用,并没有拷贝内容。a = [1,2,3]print(id(a))b=aprint(b)print(id(b))a.append(4)print(a)print(b)运行结果为:
2023-01-31

深入浅析python继承问题

有如下的代码:class p1: def __init__(self,a,b): print("init in p1") self.a1=a self.b1=b self.f1() def f1(self): print("f1 in p1
2022-06-04

python之浅拷贝与深拷贝

浅拷贝是对于一个对象的顶层拷贝通俗的理解是:拷贝了引用,并没有拷贝内容In [10]: a = [11,22,33]In [11]: b = aIn [12]: id(a)Out[12]: 140343572333832In [13]: i
2023-01-31

深入浅析Python字符编码

Python的字符串编码规则一直让我很头疼,花了点时间研究了下,并不复杂。主要涉及的内容有常用的字符编码的特点,并介绍了在python2.x中如何与编码问题作战,本文关于Python的内容仅适用于2.x,3.x中str和unicode有翻天
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录