1.用浅拷贝后修改数字,可以起到与原数据分离的效果
import copy
origin = [, , [, ]]
#origin 里边有三个元素:, ,[, ] cop1=origin.copy()
#cop1 和 cop2 看上去相同,但已不再是同一个object
cop1[]=''
print (cop1)
print (origin) #把origin内的子list [, ] 改掉了一个元素,观察 cop1 和 cop2

2.用浅拷贝后修改子list,或者修改子list里面任何一个数据都不可以起到与原数据分离的效果

import copy
origin = [, , [, ]]
#origin 里边有三个元素:, ,[, ] cop1=origin.copy()
#cop1 和 cop2 看上去相同,但已不再是同一个object
cop1[][]=''
print (cop1)
print (origin) #把origin内的子list [, ] 改掉了一个元素,观察 cop1 和 cop2

3.用等号后修改数字,不可以起到与原数据分离的效果

import copy
origin = [, , [, ]]
#origin 里边有三个元素:, ,[, ] cop1=origin
#cop1 和 cop2 看上去相同,但已不再是同一个object
cop1[]=''
print (cop1)
print (origin) #把origin内的子list [, ] 改掉了一个元素,观察 cop1 和 cop2

4.用等号后修改子list,或者修改子list里面任何一个数据都不可以起到与原数据分离的效果

import copy
origin = [, , [, ]]
#origin 里边有三个元素:, ,[, ] cop1=origin
#cop1 和 cop2 看上去相同,但已不再是同一个object
cop1[][]=''
print (cop1)
print (origin) #把origin内的子list [, ] 改掉了一个元素,观察 cop1 和 cop2

5.用deepcopy,随便修改,都可以起到与原数据分离的效果

import copy
origin = [, , [, ]]
#origin 里边有三个元素:, ,[, ] cop1=copy.deepcopy(origin)
#cop1 和 cop2 看上去相同,但已不再是同一个object
cop1[]=''
print (cop1)
print (origin) #把origin内的子list [, ] 改掉了一个元素,观察 cop1 和 cop2

6.继续写一个list的乘法.如果

a=[0]*99 ,那么a里面数据都可以随意修改

a=[[0]]*99,那么a里面任何index的数据都永远相等,无论怎么修改.

7.python for else的坑

这里面else表示的是如果for的循环你使用break跳出的那么else不执行,否则必然执行else.如果你不写break,那么else语句就必然执行.

彻底测试全部拷贝list相关操作的区别python的更多相关文章

  1. python字符串、字符串处理函数及字符串相关操作

    python字符串.字符串处理函数及字符串相关操作 字符串介绍 python字符串表示 Python除处理数字外还可以处理字符串,字符串用单撇号或双撇号包裹: >>> 'spam e ...

  2. 理解CSV文件以及ABAP中的相关操作

    在很多ABAP开发中,我们使用CSV文件,有时候,关于CSV文件本身的一些问题使人迷惑.它仅仅是一种被逗号分割的文本文档吗? 让我们先来看看接下来可能要处理的几个相关组件的词汇的语义. Separat ...

  3. 如何给ActiveX控件添加“事件”“属性”“标准事件”“自定义事件”等一些相关操作

    上一篇小编带大家熟悉了一下ActiveX的建立以及相关的概念,(http://blog.csdn.net/u014028070/article/details/38424611) 本文介绍下如何给控件 ...

  4. linux下进程相关操作

    一.定义和理解 狭义定义:进程是正在运行的程序的实例. 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动. 进程的概念主要有两点: 第一,进程是一个实体.每一个进程都有它自己的 ...

  5. python 集合相关操作

    集合相关操作 集合是一个无序的,不重复的数据组合,它有着两个主要作用:去重以及关系测试. 去重指的是当把一个列表变成了集合,其中重复的内容就自动的被去掉了 关系测试指的是,测试两组数据之间的交集.差集 ...

  6. 利用JAVA API远程进行HDFS的相关操作

    学习HDFS有一段时间了,现在把自己总结的HDFS的相关操作代码展示给大家. 主要有HDFS的增删改查,文件的追加,windows本地文件的上传,hdfs文件的下载,文件重命名,创建目录,文件是否存在 ...

  7. Map集合中,关于取值和遍历的相关操作

    这是自己的关于map集合的相关操作的小研究,分享给大家. 主要代码内容包含以下: 1,map集合的遍历 2,根据key值获取value值 3,根据value值获取key值 4,返回最大value值对应 ...

  8. ztree设置节点checked,选中某节点等相关操作

    ztree设置节点checked,选中某节点等相关操作 1.根据id获取树的某个节点: var zTree = $.fn.zTree.getZTreeObj("mytree"); ...

  9. MySQL之库相关操作

    一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_schema: MyS ...

随机推荐

  1. PHP最近做了物流快递查询的接口用得是快递100

    最近做了物流快递查询的接口用得是快递100的,分享下心得体会 主要使用了2种接口,一个是api的 返回json xml 各种数据的 一个是返回的URL的  就是一个带结果的网址  . 1  申请 找一 ...

  2. Zabbix监控系统进程

    参考网站:   https://www.linuxidc.com/Linux/2016-11/137649.htm

  3. ubuntu sudo apt-get upgrade 和 sudo apt-get dist-upgrade区别

    sudo apt-get upgrade: 不会对系统产生重大的影响,可以在任何时候运行. sudo apt-get dist-upgrade: 涉及核心的升级,通常会对系统功能产生实际的影响,可能在 ...

  4. React Native指南汇集了各类react-native学习资源、开源App和组件

    来自:https://github.com/ele828/react-native-guide React Native指南汇集了各类react-native学习资源.开源App和组件 React-N ...

  5. 深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**const p

    由于没有const*运算,const实际上修饰的是前面的char*,但不能在定义时转换写成 const(char *)*p,因为在定义是"()"是表示函数. 三.深入理解7种组合 ...

  6. maven GroupId 和ArtifactId通常填什么

    GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构.ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称.

  7. JDBC连接数据库创建连接对象

    1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String  classN ...

  8. JavaScript实现AOP(面向切面编程,装饰者模式)

    什么是AOP? AOP(面向切面编程)的主要作用是把一些跟核心业务逻辑模块无关的功能抽离出来,这些跟业务逻辑无关的功能通常包括日志统计.安全控制.异常处理等.把这些功能抽离出来之后, 再通过“动态织入 ...

  9. knn手写识别

    import numpy as np import operator import os #KNN算法 def knn(k,testdata,traindata,labels):#(k,测试样本,训练 ...

  10. Ubuntu下面网络固定ip

    https://jingyan.baidu.com/article/e5c39bf5bbe0e739d7603396.html