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. THINKPHP3.2.3增加阿里云短信接口思路整理

    https://help.aliyun.com/document_detail/55359.html?spm=5176.product44282.4.7.O4lc1n 阿里云短信服务地址,感冒的下载看 ...

  2. leetcode501

    /** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...

  3. 5.mybatis实战教程(mybatis in action)之五:与spring3集成(附源码)

    转自:https://blog.csdn.net/nnn9223643/article/details/41962097 在 这一系列文章中,前面讲到纯粹用mybatis 连接数据库, 然后 进行增删 ...

  4. spring quartz 任务注入spring service

    SchedulerFactoryBean+AdaptableJobFactory+QuartzJobBean package schedule.quartz5; import org.quartz.S ...

  5. python 文件移动

    python实现文件移动: import shutil shutil.move("original_path", "new_folder") # move fi ...

  6. ubuntu查询可用安装包

    当使用apt-get install packages时,如果不知道安装包的具体名称,可以使用关键字进行搜索,使用:apt-cache search keywords

  7. ubuntu16.04 安装opencv3.3

    from: http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/ Step #1: Install O ...

  8. ntohs, ntohl, htons,htonl的比较和详解【转】

    ntohs =net to host short int 16位 htons=host to net short int 16位 ntohs =net to host long int 32位 hto ...

  9. box2d 易错

    1.动态刚体与一个与静态刚体重叠的小的感应刚体在contactBegin时,有些时候无法侦测到 2.bodyA.GetContactList()应用非动态刚体,会找不到另一非动态刚体的接触,非动态刚体 ...

  10. redis-trib.rb报错:/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- redis (LoadError)

    报错如下: /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- redis ...