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. windows安装python运行环境使用pycharm

    pycharm下载地址: https://www.jetbrains.com/zh/pycharm/download/download-thanks.html 安装教程: https://blog.c ...

  2. 使用spring注解——定义bean和自动注入

    对于java bean的定义和依赖配置,使用xml文件真心是不方便. 今天学习如何用注解,解决bean的定义和注入. 常用注解: 1.自动注入:@Resources,@Autowired 2.Bean ...

  3. java ee7 -- Java Bean验证

    针对对象.对象成员.方法.构造函数的数据验证. 1. 一个验证的小例子 (1) 添加引用jar <dependency> <groupId>org.hibernate.vali ...

  4. setlocal 与 变量延迟

    setlocal 与 变量延迟 本条内容引用[英雄出品]的批处理教程: 要想进阶,变量延迟是必过的一关!所以这一部分希望你能认真看. 为了更好的说明问题,我们先引入一个例子.例1: @echo off ...

  5. Spring MVC 基本储备

    @RequestMapping value, method, params 必须存在参数, headers: 请求头部必须是啥样 @PathVariable 绑定URL参数 HiddenHttpMet ...

  6. as3 判断鼠标移动方向

    import flash.events.MouseEvent; var odx:Number=mouseX; var ody:Number=mouseY; stage.addEventListener ...

  7. Redis 配置节

    Redis 后面的配置基于4.0.9版本=>>>不指定版本信息的配置说明都是耍流氓 比如在4.0.9中没有vm相关的及glueoutputbuf的配置信息 部分常用配置节(后面有详细 ...

  8. 搭建Turbine时,报错误:Property or field 'default' cannot be found on object of type 'com.netflix.appinfo.InstanceInfo'

    Spring Boot + Eureka Server + Hystrix with Turbine: empty turbine.stream 配置的时候遇到了问题: Property or fie ...

  9. HIBERNATE知识复习记录2-继承关系

    发现了一篇和我类似的学习尚硅谷视频写的文章,内容如下,比我说的详细全面,可以看一下: [原创]java WEB学习笔记87:Hibernate学习之路-- -映射 继承关系(subclass , jo ...

  10. Activity生命周期,Activity传值(Intent)

    生命周期: 从出生到死亡 Activity生命周期的7个方法和3个循环 onCreate() 创建时调用onRestart() 不可见到可见时调用onStart() 用户可见时调用onResume() ...