Python学习日记(六) 浅深copy】的更多相关文章

浅深copy即完全复制一份和部分复制一份 浅深copy在列表数据量较大时不建议使用,比较消耗内存资源 1.赋值运算 l1 = [1,'s',[1,2,3]] l2 = l1 print(id(l1),id(l2)) #34103880 34103880 l1[2][1] = 'h' print(id(l1),id(l2)) #34103880 34103880 l1和l2指向的是相同的内存地址 2.浅copy l1 = [1,'s',[4,5,6,'s','h']] l2 = l1.copy()…
Python中通过copy模块有两种复制(深复制与浅复制) copy 浅复制 复制时只会复制父对象,而不会复制对象的内部的子对象. deepcopy 深复制 复制对象及其子对象 因此,复制后对原dict的内部的子对象(方括号[]内元素)进行操作时,浅复制dict会受操作影响而变化,而深复制dict则不会受操作变化 而使用del 对父对象进行操作时,浅复制,深复制后的副本为全新副本,不受影响 #!/usr/bin/env python3 # -*- coding:utf-8 -*- from co…
知识回顾 在上一周的学习里,我学习了一些学习Python的基础知识下面先简短的回顾一些: 1Python的版本和和安装 Python的版本主要有2.x和3.x两个版本这两个版本在语法等方面有一定的区别.在安装的的时候需要注意.剩下的就是在官网选择适合自己操作系统版本的Python安装即可 2Python的内容编码 接下来就有关Python的内容编码的问题 .Python2.x默认是acsll编码.因此不支持中文.Python 3 则不存在这个问题 因此在Python2.x环境中需要在代码的开始加…
目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 4.关键字,函数,方法的区别. 5.列表的循环遍历 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储…
Python学习第六课 课前回顾 列表 创建 通过 [] :写在[]里,元素之间用逗号隔开 对应操作: 查 增 append insert 改(重新赋值) 删除(remove del pop(删除后会有返回值)) 其他操作 count 统计 extend 可以在列表末尾追加多个值 index 返回列表索引位置 reverse 把我.列表中的元素反转 sort 按ASCII排序 元组 数据只可以被查询,不能被修改: 元组写在()里,之间用逗号隔开 enumerate(A,B) 添加序号;A表示所添…
Python学习日记 --day2 1.格式化输出:% s d  (%为占位符 s为字符串类型 d为数字类型) name = input('请输入姓名') age = int(input('请输入年龄')) height = input('请输入身高') job = input('请输入工作') hobbie = input('我的爱好是') msg = '''-------info of %s -------- 姓名: %s 年龄: %d 身高: %s 工作: %s 爱好: %s ------…
数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print(s) 布尔值 bool  True/False while True: 等价于: while 1:   ###较简便 while 1: print('all trule') 字符串 str 字符串的索引与切片 索引:索引既下标,字符串元素从第一个开始,初始索引为0.以此类推. s = 'sdfjs…
在python中,对象赋值实际上是对象的引用.当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用. 1. 赋值 赋值其实只是传递对象引用,引用对象id是一样的.原始列表改变,被赋值的b也会做相同的改变. >>> alist = [1,2,3,["a","b"]] >>> b = alist >>> print(b) [1, 2, 3, ['a', 'b']]…
Python Copy: 在Python语言中,分为浅拷贝和深拷贝两种形式,也就是官方文档中的Shadow copy和Deep copy.在对简单的对象(object)进行复制时,两者没有区别,如下面的代码所示: #简单对象的浅copy和深copy对比 import copy list1 = [1,2,3,4,5] #浅复制 Shadow_copy_list1 = copy.copy(list1) print(list1) #[1, 2, 3, 4, 5] print(Shadow_copy_l…
赋值 #赋值,指向同一内存地址 l1 = [1,2,3,4,5] l2 = l1 print(l1,l2) print(id(l1),id(l2)) 浅copy #浅copy,第一层互相独立,创建了新的内存地址,第二层之后,都指向同一地址 l1 = [1,2,3,[4,5,6]] l2 = l1.copy() print(l1,id(l1)) print(l2,id(l2)) l1.append('第一层')#第一层改变,copy不会改变 print(l1) print(l2) l1[3].ap…