python-深浅copy-18
# 赋值运算l1 = [1,2,3]l2 = l1l1.append('a')print(l1,l2) # [1, 2, 3, 'a'] [1, 2, 3, 'a'] #copyl1 = [1,2,3]l2 = l1.copy()print(l1,l2) # [1, 2, 3] [1, 2, 3]print(id(l1),id(l2)) # 36772744 36771976l2.append('a')print(l1,l2) # [1, 2, 3] [1, 2, 3, 'a'] l1 = [1,2,[4,5,6],3]l2 = l1.copy() print(l1,id(l1)) # [1, 2, [4, 5, 6], 3] 36773832print(l2,id(l2)) # [1, 2, [4, 5, 6], 3] 36772744l1.append('a')print(l1,l2) # [1, 2, [4, 5, 6], 3, 'a'] [1, 2, [4, 5, 6], 3]l1[2].append('a')print(l1,l2) # [1, 2, [4, 5, 6, 'a'], 3, 'a'] [1, 2, [4, 5, 6, 'a'], 3]print(id(l1[2])) # 30302792print(id(l2[2])) # 30302792 import copyl1 = [1,2,[4,5,6],3]l2 = copy.deepcopy(l1)print(l1,id(l1)) # [1, 2, [4, 5, 6], 3] 37541960print(l2,id(l2)) # [1, 2, [4, 5, 6], 3] 36773832l1[2].append('a')print(l1,l2) # [1, 2, [4, 5, 6, 'a'], 3] [1, 2, [4, 5, 6], 3] '''浅拷贝,只拷贝了列表的第一层,所以第一层的id会不同,但是从第二层甚至更深的层次,id就都是一样的了,id(var)函数可以查看内存地址,因此copy()列表第一层是各自独立的,但是从第二层开始就开始相关联。真正要实现深度拷贝,必须要用copy.deepcopy()。总结:浅拷贝,即只有第一层是各自独立的。深拷贝,所有层都是相互独立的。''' l1 = [1,[1],2,3,4]l2 = l1[:]l1[1].append('a') #l2 的结果是什么? print(l1,id(l1)) # [1, [1, 'a'], 2, 3, 4] 30302792print(l2,id(l2)) # [1, [1, 'a'], 2, 3, 4] 37541960print(l1[1] is l2[1]) # True li = ['alex','taibai','wusir','egon']for i in li: print(li.index(i),i) for index,i in enumerate(li,1): print(index,i) '''enumerate()说明enumerate()是python的内置函数enumerate在字典上是枚举、列举的意思对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值enumerate多用于在for循环中得到计数例如对于一个seq,得到:''' # (0, seq[0]), (1, seq[1]), (2, seq[2]) # enumerate()返回的是一个enumerate对象,例如: # enumerate()使用# 如果对一个列表,既要遍历索引又要遍历元素时,首先可以这样写:list1 = ["这", "是", "一个", "测试"]for i in range (len(list1)): print(i ,list1[i]) # 上述方法有些累赘,利用enumerate()会更加直接和优美:list1 = ["这", "是", "一个", "测试"]for index, item in enumerate(list1): print(index, item) # enumerate还可以接收第二个参数,用于指定索引起始值,如:list1 = ["这", "是", "一个", "测试"]for index, item in enumerate(list1, 1): print(index, item) #如果要统计文件的行数,可以这样写: # count = len(open(filepath, 'r').readlines()) #这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。 #可以利用enumerate(): # count = 0# for index, line in enumerate(open(filepath,'r')):# count += 1
扩展:python3【基础】-赋值与深浅拷贝
https://blog.csdn.net/weixin_38246633/article/details/84310770
转载于:https://www.cnblogs.com/LXL616/p/10643244.html
python-深浅copy-18相关推荐
- Python 深浅copy 和文件操作
深浅copy 1,先看赋值运算. l1 = [1,2,3,['barry','alex']] l2 = l1l1[0] = 111 print(l1) # [111, 2, 3, ['barry', ...
- Python深浅copy
在python里对对象进行拷贝有三个,即赋值,深拷贝,浅拷贝.而对象又分为两种,一种是不可变对象(字符串.元组.数字 ),一种是可变对象(列表.字典).而深浅拷贝有三种情况: 拷贝的是不可变对象,对于 ...
- Python基础三--字典,集合,编码,深浅copy,元祖、文件操作
字典 dict数据类型划分:可变数据类型,不可变数据类型不可变数据类型: 元组,bool值,int,str 可哈希可变数据类型: list,dict,set 不可哈希 dict key :必须是不可变 ...
- python 的内存回收,及深浅Copy详解
一.python中的变量及引用 1.1 python中的不可变类型: 数字(num).字符串(str).元组(tuple).布尔值(bool<True,False>) 接下来我们讲完后你就 ...
- python中的深浅copy
深浅copy 复制,首先我们从切片技术说起.它应用于所有的序列,包括:列表,字符串,元祖.但是切片不能应用于字典,对于字典只能使用D.copy() 和 D.deepcopy()方法. 下面具体说一下深 ...
- python怎么设置颜色深浅变化_Python赋值、深浅copy
Python赋值.深浅copy assignment: 在 Python 中,对象的赋值就是简单的对象引用,这点和 C++不同,如下所示 a = [1, 2, 'hello', ['python', ...
- [转载] python创建集合、计算a|b_python之路(集合,深浅copy,基础数据补充)
参考链接: Python 集合set | symmetric_difference 一.集合:类似列表,元组的存储数据容器,不同点是不可修改,不可重复.无序排列. 1.创建集合: (1).set1 = ...
- 乐学python怎么样_铁乐学Python_day07_集合and浅谈深浅copy
1.[List补充] 在循环一个列表时,最好不要使用元素和索引进行删除操作,一旦删除,索引会随之改变,容易出错. 如果想不出错,可以采用倒着删除的方法,因为倒着删除进行的话,只是后面元素的位置发生了变 ...
- python之深浅copy
python之深浅copy 文章目录 python之深浅copy 引入 1.为什么要使用深浅拷贝 一.赋值运算 1.赋值运算原理 2.示例 3.总结 二.拷贝 三.浅拷贝 什么是浅拷贝? 1.浅拷贝原 ...
- python拷贝文件函数_python笔记2小数据池,深浅copy,文件操作及函数初级
小数据池就是在内存中已经开辟了一些特定的数据,经一些变量名直接指向这个内存,多个变量间公用一个内存的数据. int: -5 ~ 256 范围之内 str: 满足一定得规则的字符串. 小数据池: 1,节 ...
最新文章
- 计算机右键无法新建excel2007,Win7系统安装Office2007后,Excel不能自动关联,而且右键新建菜单里也没有新建Excel的选项...
- 10大类、142条数据源,中文NLP数据集线上搜索开放
- javascript+HTMl5游戏下载,开发一个都能月薪上万!舅服你
- 5.【练习题】构造方法与重载
- tensorflow包_在Keras和Tensorflow中使用深度卷积网络生成Meme(表情包)文本
- ReactiveCocoa 更优雅的编程(信号探秘)
- 智能实验室-全能优化(Guardio) 4.0.0.670 beta 8
- java笔试面试经典问题
- 关于企业级系统一些思考
- 共享单车需求预测问题:建模篇
- C#读写SQLSERVER中Image类型图片
- javascript location.href 参数详解
- 供应商太多,怎么才能高效比价?
- iView的表格做一个带斜线的表头
- 开源跨平台2D游戏引擎Love2D介绍
- 利用matlab裁剪图片大小,MATLAB裁剪图片
- easyUI filebox限定文件大小
- 《网络架构系列2-Http详解》
- VUE 嵌入 WPS插件
- 一步一步来制作CSS3 3D旋转相册