Python ---------copy
copy---探索

1.浅copy 就相当于把变量指针指向对象 相当于给对象从新起了个小名
a=[[1,2],3,4]
a=[[1,2],3,4]
b=a.copy()
# print(a)
# print(b)
# >>>>[[1, 2], 3, 4]
# >>>>[[1, 2], 3, 4]
# b[2]=1
# print(a)
# print(b)
# >>>>[[1, 2], 3, 4]
# >>>>[[1, 2], 3, 1]
b[0][1]=44
# print(a)
# print(b)
# >>>[[1, 44], 3, 4]
# >>>[[1, 44], 3, 4]
2.深copy 就像把对象从新创建一遍 连个对象没有关系
a=[[1,2],3,4]
import copy
b=copy.deepcopy(a)
# print(b)
# print(a)
# >>>[[1, 2], 3, 4]
# >>>[[1, 2], 3, 4]
# b[2]=888
# print(b)
# print(a)
# >>>[[1, 2], 3, 888]
# >>>[[1, 2], 3, 4]
b[0][1]=999
print(a)
print(b)
[[1, 2], 3, 4]
[[1, 999], 3, 4]
千 里 之 行 始 于 足 下

Python ---------copy的更多相关文章
- python copy模块
python copy模块 copy模块用于对象的拷贝操作 该模块只提供了两个主要的方法: copy.copy:浅复制 copy.deepcopy:深复制 直接赋值,深拷贝和浅拷贝的区别 直接赋值:简 ...
- Python copy and deepcopy
Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块. 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. 2. copy.deep ...
- Python copy对象(copy与deepcopy)
Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块. 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. 2. copy.deep ...
- python copy和deepcopy
Python FAQ2:赋值.浅拷贝.深拷贝的区别? 发表于 2014-08-15 | 分类于 Lang.-Python | 在写Python过程中,经常会遇到对象的拷贝,如果不理解浅拷 ...
- python copy与deepcopy (拷贝与深拷贝)
copy与deepcopy python 中的copy与deepcopy是内存数据的操作,但是两个函数有一定的区别. 1.copy import copy list = [1, [4, 5, 6], ...
- Python copy(), deepcopy()
copy() 浅拷贝: 创建一组拷贝对象的引用.切片操作相当于浅拷贝,会生成一个新的对象,新的对象里保存原对象的引用. 如果原对象中的可变对象改变(list),那么浅拷贝的对象随之改变,如果原对象中不 ...
- Python学习-赋值、浅copy和深copy
Python Copy: 在Python语言中,分为浅拷贝和深拷贝两种形式,也就是官方文档中的Shadow copy和Deep copy.在对简单的对象(object)进行复制时,两者没有区别,如下面 ...
- 多进程copy文件
from multiprocessing import Pool,Manager import os,time def copyFileTask(fileName,oldFolderName,newF ...
- 【Python】列表(数组)的引用和拷贝
# Python里对象赋值传递的引用 arr=[1,2,3,4,5] newArr=arr arr[1]=9 print('arr='+str(arr)) print('newArr='+str(ne ...
随机推荐
- 从struts2拦截器到自定义拦截器
拦截器可谓struts2的核心了,最基本的bean的注入就是通过默认的拦截器实现的,一般在struts2.xml的配置中,package内直接或间接继承了struts-default.xml,这样st ...
- java 逆波兰表达式
最近想把这破机 装成WIN7 想想还是算了 ... 反正用的机会也不多. 不过 发现了一些 想念的东西 从前的作业. 从前的记忆. package org.lmz; import java.util ...
- centos设置服务开机自启动
在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd.mysqld.postfix等,安装后系统默认不会自动启动的.就算手动执行/etc/init.d/mysqld start ...
- 文件上传<springmvc>
使用commons-fileupload-1.3.1.jar和commons-io-2.4.jar web.xml <?xml version="1.0" encoding= ...
- JSON反序列化实体类
1.定义实体类 [DataContract] public class CustomerWordOrderViewModel { [DataMember] public string Name; [D ...
- SublimeText快捷键
在我做了一次包含一些现场编码的演示后,一些观众问我是如何操作这么快.当然这里没有唯一的答案,答案是一堆简单的快捷键和大量的实践的组合.为了回应那些询问,我觉得有必要看看我每天想都不用想且使用的快捷键. ...
- mysql权限设置
想要设定权限,必须通过root用户登录: >> grant all privileges on *.* to root@"%" identified by " ...
- Leetcode-34-Search for a Range-(Medium)
这道题借助二分查找算法来查找目标值的index 然后向前和向后分别搜索起始边界 注意开始排除异常值优化速度 #!/usr/local/bin/python3 # -*- coding: utf-8 - ...
- Linux网络常用头文件说明
sys/types.h:数据类型定义 sys/socket.h:提供socket函数及数据结构 netinet/in.h:定义数据结构sockaddr_in arpa/inet.h:提供IP地址转换函 ...
- 如何使用jconsole(英文)
http://docs.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html