首页 > 编程语言 >关于python中的深浅拷贝copy与deepcopy

关于python中的深浅拷贝copy与deepcopy

时间:2022-10-31 12:47:44浏览次数:44  
标签:内存地址 变量 python list1 list2 deepcopy 拷贝 copy

浅拷贝(藕断丝连):copy.copy() 或者 =

深拷贝(一刀两断):copy.deepcopy()

首先我们需要了解在python中"id()"这个函数可以用来查看变量的的内存地址

然后需要明确深浅拷贝只是针对可变变量而言(不可变变量:字符串、数字、元祖,可变变量:列表、字典、集合

对于不可变变量变量的值是一样的,内存地址就是一样的

对于可变变量变量的值是一样的,不一定内存地址就是一样的

所以深拷贝时会把可变变量重新复制一份保存在新的内存地址当中,而浅拷贝会继续沿用原来的内存地址。

示例:

import copy

list1 = ["faker", 1, True, [1, 2]]
#浅拷贝
list2 = copy.copy(list1)
#修改list1其中一个可变变量
list1[3].append(3)
#会发现list2的值也发生可变化
print(list1,list2)
print(id(list1[3]), id(list2[3]))
#打印结果如下
'''
['faker', 1, True, [1, 2, 3]] ['faker', 1, True, [1, 2, 3]]
1398939718016 1398939718016
'''

 

标签:内存地址,变量,python,list1,list2,deepcopy,拷贝,copy
From: https://www.cnblogs.com/zxyks/p/16843891.html

相关文章

  • python颜色代码大全,颜色列表|颜色字典
    颜色字典如下,想要将颜色保存为列表调用可以使用字典的value和key下面两种代码都能获取所有颜色的列表list_keys=[iforiincnames.keys()]list_values=[ifori......
  • python - pyquery 将腾讯新闻保存为本地xlsx
    infolitedemo#coding:utf-8###pyquery抓取腾讯新闻#In[7]:importrequestsfrompyqueryimportPyQueryaspqhtml=requests.get('http://news.qq.com/').t......
  • python3 - 使用 jieba3k 对直播平台房间标题进行分词
    python3安装jieba:pip3installjieba或者,先下载​​http://pypi.python.org/pypi/jieba/​​,解压后运行pythonsetup.pyinstall参考:​​https://github.com/fxsjy/......
  • C++&Python 描述 LeetCode 1.两数之和
    C++&Python描述LeetCode1.两数之和  大家好,我是亓官劼(qíguānjié),在【亓官劼】公众号、、GitHub、B站、华为开发者论坛等平台分享一些技术博文。放弃不难,但坚持......
  • python 中实现将两个列表合并为字典
     001、方法1>>>list1=["aaa","bbb","ccc"]>>>list2=[100,500,300]>>>dict1=dict(zip(list1,list2))>>>dict1{'aaa':100,'bbb':500,'ccc':300}......
  • python yield 会什么打印none?
     看一个小例子:cattest.pydefgen1():foriinrange(10):x=yieldiprint("x=%s"%x)这段代码执行结果如下:>>>importtestast>>>......
  • Python脚本IMAP登陆邮箱 搜索邮件
    功能:python脚本登陆邮箱查找指定邮件。  代码:#!/usr/bin/envpython#-*-coding:UTF-8-*-##pythontversion:3.8.8#导入模块importimaplib,string......
  • 使用 Python 语言批量改变多个文件夹下的多个图片的尺寸大小
    importglobimportosfromPILimportImage#1、获取文件夹名称path=r'H:\wordData\30train'dirnames=[fforfinos.listdir(path)ifos.path.isdir(path......
  • python文件
    文件什么是文件?文件是操作系统提供给用户/应用程序操作硬盘的一种虚拟的概念/接口用户/应用程序:(f=open(),获取文件对象、文件句柄)操作系统:文件计算机硬件:硬盘......
  • python数据类型
    数值类型1.1整型int类型转换:int("10")10进制转为二进制:bin()10进制转为八进制:oct()10进制转为16进制:hex()二进制转为10进制:int("0b1011",2)八进制转为10进制:int......