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请求获取页面.有些网页,我们不需要单独请求,就可以和网络服务器交互(收发信息 ...
随机推荐
- Linux下Bash入门学习笔记
学习好shell编程是很有用的,可以使用shell脚本轻巧地完成有趣的工作. 本文地址:http://www.cnblogs.com/yhLinux/p/4047516.html 1. Bash实例, ...
- 使用.net Reflector手动修改单个dll文件
在项目中修改bug会存才版本混乱的问题,加上dll中的依赖项目比较多,想要修改单个dll文件中的少量代码是很麻烦的. 可以使用Reflector和Reflexil可以手动修改单个dll文件,我使用的是 ...
- 解决VS2010子目录中的.cpp文件引用上一级目录的stdafx.h找不到定义的问题
Source目录 |-- stdafx.h |--Util目录 |--Util.h |--Util.cpp 现在的发现Util.cpp各种变量的定义全是红色波浪线,找不到定义,但是却能够编译过 问题就 ...
- [Leetcode][JAVA] Binary Tree Level Order Traversal
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...
- 移动端web开发 问题
1.APP 返回按钮 <a href='#' onclick='javascript:history.back(-1);'></a> 返回有问题需要使用 href='javas ...
- 测试CAS
参考博客 http://www.cnblogs.com/adolfmc/archive/2012/07/16/2593291.html 准备工作: 1.cas服务器:http://cas:8443/l ...
- 3.使用CXF开发webService
CXF 简介 关于 Apache CXF Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache ...
- mvc2/3/4_伪静态_路由配置
一.路由规则: routes.MapRoute( name: "Default2", url: "{contr ...
- Atom.io设置ctrl+delete
一般常见的text editor,在文本前面的空白处按下ctrl+delete,只是删除空白符到单词前面停下,但是Atom.io的默认设置,把空白符后遇到的第一个单词也删掉了.改配置方法是在keyma ...
- 管理我的数据之GDBM
管理我的数据之GDBM 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创代码根据General Publi ...