python 数据的拷贝
# -*- config=utf-8 -*-
#数据的拷贝
a=[1,2,3,4,5,6,"a","C"];
b=a;# a 与 b 的地址空间相同
a.append("b");
b.append("f");
print(b,a);#[1, 2, 3, 4, 5, 6, 'a', 'C', 'b', 'f'] [1, 2, 3, 4, 5, 6, 'a', 'C', 'b', 'f'] 当改变a的时候b也变 改变b a也变
print(id(b),id(a)); # 11075528 11075528 地址空间相同
###############################################
import copy;
#拷贝就是对内存中数据的应用
# 这就是浅拷贝
list=[1,2,3,4,["a","b","c"]];
list_1=copy.copy(list);
print(list,list_1)
print(id(list),id(list_1)); #11367752 10970440 地址空间不同 彼此的地址空间不同
list.append("");
print(list,list_1);#[1, 2, 3, 4, ['a', 'b', 'c'], '5'] [1, 2, 3, 4, ['a', 'b', 'c']] list 改变 但 list_1 并没有变
print(id(list[0]),id(list_1[0]));# 1394274096 1394274096 他们各自元素的地址空间还是相同的
list[4].append("d");
print(list,list_1);#[1, 2, 3, 4, ['a', 'b', 'c', 'd'], '5'] [1, 2, 3, 4, ['a', 'b', 'c', 'd']] 都变了 # 深拷贝
list_2=[1,2,3,4,["a","b","c"]];
list_3=copy.deepcopy(list_2);
print(id(list_2),id(list_3));#17402824 17402248 地址不同
print(id(list_2[4]),id(list_3[4])); #11241032 11242056 地址不同
list_2[4].append("d");
print(list_2,list_3);#[1, 2, 3, 4, ['a', 'b', 'c', 'd']] [1, 2, 3, 4, ['a', 'b', 'c']] list_3 没改变
python 数据的拷贝的更多相关文章
- 24、简述Python的深浅拷贝以及应用场景
深浅拷贝的原理 深浅拷贝用法来自copy模块. 导入模块:import copy 浅拷贝:copy.copy 深拷贝:copy.deepcopy 字面理解:浅拷贝指仅仅拷贝数据集合的第一层数据,深拷贝 ...
- 简述Python的深浅拷贝以及应用场景
深浅拷贝的原理 深浅拷贝用法来自copy模块. 导入模块:import copy 浅拷贝:copy.copy 深拷贝:copy.deepcopy 字面理解:浅拷贝指仅仅拷贝数据集合的第一层数据,深拷贝 ...
- 干货!小白入门Python数据科学全教程
前言 本文讲解了从零开始学习Python数据科学的全过程,涵盖各种工具和方法 你将会学习到如何使用python做基本的数据分析 你还可以了解机器学习算法的原理和使用 说明 先说一段题外话.我是一名数据 ...
- 图解Python中深浅拷贝
在工作中,常涉及到数据的传递,在数据传递使用过程中,可能会发生数据被修改的问题.为了防止数据被修改,就需要在传递一个副本,即使副本被修改,也不会影响原数据的使用.为了生成这个副本,就产生了拷贝.今天就 ...
- 关于python数据序列化的那些坑
-----世界上本来没那么多坑,python更新到3以后坑就多了 无论哪一门语言开发,都离不了数据储存与解析,除了跨平台性极好的xml和json之外,python要提到的还有自身最常用pickle模块 ...
- Python数据可视化编程实战——导入数据
1.从csv文件导入数据 原理:with语句打开文件并绑定到对象f.不必担心在操作完资源后去关闭数据文件,with的上下文管理器会帮助处理.然后,csv.reader()方法返回reader对象,通过 ...
- Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识
Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...
- Python原理 -- 深浅拷贝
python原理 -- 深浅拷贝 从数据类型说开去 str, num : 一次性创建, 不能被修改, 修改即是再创建. list,tuple,dict,set : 链表,当前元素记录, 下一个元素的位 ...
- Python数据网络采集5--处理Javascript和重定向
Python数据网络采集5--处理Javascript和重定向 到目前为止,我们和网站服务器通信的唯一方式,就是发出HTTP请求获取页面.有些网页,我们不需要单独请求,就可以和网络服务器交互(收发信息 ...
随机推荐
- JQuery延时操作
JQuery通过setTimeout函数可以实现延时操作以完成在编程达到某些需要的效果. 使用方法如下: function doSomething() { alert("hello worl ...
- linux下配置ssledge代理服务器
ssl edge 是一个非常好用的VPN/proxy, 比云梯 稳定快速的多. 在LINUX下开发 Titanium 需要用到各种FQ,所以它是必备工具. 1. 根据自己付费后的用户名和密码,下载 ...
- MSP430单片机的位操作
MSP430单片机属于RISC(Reduced Instruction Set Computer)型处理器.与普通的51单片机的复杂指令集相区别.普通51单片机执行一条指令最少需要12个时钟周期,而R ...
- mysql命令化操作实用小技巧
★1.问:如果我的mysql数据库服务器程序在D:\program files\phpstudy\mysql,里,那么我该怎么在cmd命令状态下使用它? 进入cmd状态后,系统默认在当前用户 ...
- 几个非常有用的js小函数
function $(v){ if(typeof v==="function"){ window.onload=v; }else if(typeof v==="strin ...
- wireshark常用过滤规则
wireshark常用过滤规则:(Filter中输入过滤规则)1.源ip过滤:ip.src==1.1.1.1 (过滤源ip为1.1.1.1的包) 2.目的ip过滤:ip.d ...
- linux Makefile编写的整理
最近将Makefile的编写进行了整理和提炼了一下,大致分为五个步骤: 编译总共为五个部分 1.设置编译环境 set compile environment 2.获取要编译的源文件,以及把源文件转换为 ...
- Java 程序性能优化
1. singleton延时初始化 class Singleton { private static Singleton _instance = null; public synchronized S ...
- myrocks之事务处理
前言 mysql目前支持的事务引擎有innodb,tokudb. rocksdb加入mysql阵营后,mysql支持的事务引擎增长至3个.myrocks目前支持的事务隔离级别有read-committ ...
- centos 后台执行C#控制台程序
1. nohup nohup 无疑是我们首先想到的办法.顾名思义,nohup 的用途就是让提交的命令忽略 hangup 信号.让我们先来看一下 nohup 的帮助信息: NOHUP() User Co ...