Python中列表的深浅拷贝

copy_lst = [

  (‘py对象三要素‘,),

  (‘== 比较运算符‘,),

  (‘is 身份运算符‘,),

  (‘小数据池‘,),

  (‘列表的浅拷贝‘,),

  (‘列表的深拷贝‘,),

]

py对象三要素

  id

  type

  value

== 比较运算符

  通过value进行判断

    >>>a = 257

    >>>b = 257

    >>> a == b

    True

is 身份运算符

  通过id进行判断

    >>>a = 257

    >>>b = 257

    >>>id(a) == id(b)

    False

    >>>a is b

    False

小数据池

  代码块的缓存机制

列表的浅拷贝

  第一层创建新的内存地址

  从第二层开始,指向同一个内存地址

    >>>lst = [1, 2, [3, 4]]

    >>>copy_lst = lst.copy()

    >>>lst is copy_lst

    False

    >>>lst[0] = 5

    >>>lst[0] is copy_lst[0]

    False

    >>>lst[2][1] = 6

    >>>lst[2] is copy_lst[2]

    True

列表的深拷贝

  完全独立

  改变列表任意一个元素(无论多少层),另一个列表都不会改变

    >>>from copy import deepcopy

    >>>lst = [1, 2, [3, 4]]

    >>>deepcopy_lst = deepcopy(lst)

    >>>lst is deepcopy_lst

    False

    >>>lst[0] = 6

    >>>lst[0] is deepcopy_lst[0]

    False

    >>>lst[2][1] = 5

    >>>lst[2] is deepcopy_lst[2]

    False

  

  

  

  

原文地址:https://www.cnblogs.com/HopenZhang/p/9996767.html

时间: 2024-11-06 11:29:18

Python中列表的深浅拷贝的相关文章

Python中的赋值和拷贝

赋值 在python中,赋值就是建立一个对象的引用,而不是将对象存储为另一个副本.例如: >>> a=[1,2,3] >>> b=a >>> c=a 对象是[1,2,3],分别由a.b.c三个变量其建立了对应的引用关系.而三个变量都不独占对象[1,2,3],或者说,可以通过任何一个变量来修改[1,2,3]这个对象. >>> c.append(4) >>> c [1, 2, 3, 4] >>> a [

Python中列表的一些方法

Python中列表的常用内置方法 1.向列表的后面追加  list.append() 2. 清空列表 list.clear() 3. 列表复制 list.copy( )  深复制 list.deepcopy() 4. 扩展原列表 list.extend() 5. 获取当前值索引的位置 list.index()  左边的优先找到 6.在列表的指定位置插入指定的元素 list.insert(index,value) 7.删除列表的某个下标值 list.pop()  --通过下标删除 8.删除列表中的

python中列表的应用

本文主要介绍了:python中列表的主要应用和一些列表自带的一些函数 代码: #!/usr/bin/env python# author by lh# -*- coding:utf-8 -*- name_list=['al','ed','fg']print name_list #打印列表 print name_list[0] #索引 print name_list[0:2] #切片 for i in name_list: #for循环打印 print i name_list.append('ed

python中列表(list)函数及使用

序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列都可以进行的操作包括索引,切片,加,乘,检查成员. 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法. 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现. 列表的数据项不需要具有相同的类型 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可

python变量存储和深浅拷贝

python的变量及其存储 在高级语言中,变量是对内存及其地址的抽象.对于python而言,python的一切变量都是对象,变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不是这个变量的值本身. 引用语义:在python中,变量保存的是对象(值)的引用,我们称为引用语义.采用这种方式,变量所需的存储空间大小一致,因为变量只是保存了一个引用.也被称为对象语义和指针语义. 值语义:有些语言采用的不是这种方式,它们把变量的值直接保存在变量的存储区里,这种方式被我们称为值语义,

Python中列表list常见操作

主要涉及知识点 列表是我们python里面最常见的数据类型,我们主要有以下的操作. 1.索引 2.切片 3.追加 4.删除 5.长度 6.循环 (也称遍历) 7.包含 8.嵌套 例如定义列表: List2=['openstack','python','linux',"docker","zabbix","nginx","linux","linux","123","ww33##&q

python中列表 元组 字典 集合的区别

列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复项的.如果我们扩大清单的范围,统计我们过去一周所有的花费情况,那么这也是一个清单,但这个清单里会有类别不同的项,比如我们买东西是一种花费,交水电费也是一种花费,这些项的类型是可以使不同的.pyt

python中列表操作

列表 目录: 1:序列操作    ------索引    ------分片    ------步长    ------序列运算    ------成员资格检验    ------内建函数-len-max-min 2:列表操作    ------list函数        ------改变列表    ------删除元素    ------分片赋值 3:列表方法    ------append 在列表末尾添加新的元素    ------count 统计某个元素在列表中出现的次数    ------

python中列表的增删查改

本文将学习python中对列表中的元素进行增删查改操作以l为例:l=['hello','tomorrow','!']1.增加:(1)在列表末尾增添元素:列表名.append('element') l.append('hello') print(l) 输出:(2)在列表任意位置插入元素:列表名.insert(索引,'element')l.insert(1,"luu's")print(l)输出: 2.删除(1)del 列表名[序号] del l[1] print(l) (2)列表名.pop