深浅copy,is和==区别,集合,列表的操作
时间:2019-10-23
本文章向大家介绍深浅copy,is和==区别,集合,列表的操作,主要包括深浅copy,is和==区别,集合,列表的操作使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
is和== 与id的用法
== 比较的是两边的值是否相等
is 判断的内存地址是否相同
id 相同,值一定相同
值 相同,id不一定相同
简述pytho中的代码块
我们所有的代码都需要依赖于代码块执行,一个py文件就是一个代码块.交互式命令下一行就是一个代码块.
代码块的两个机制
同一代码块下有个一个机制.
- 机制内容---> int(float):任何数字在同一代码块下都会复用,str:几乎所有的字符串都会符合缓存机制,bool:True和False在字典中会以1,0方式存在,并且复用
- 目的(优点):节约内存,提升性能.
- 适用的对象:int,bool,str
- 具体细则:所有的数字,bool,几乎所有的字符串
不同代码块下,遵循另一个机制(小数据池)
- 机制内容 int:那么大家都知道对于整数来说,小数据池的范围是-5~256 ,如果多个变量都是指向同一个(在这个范围内的)数字,他们在内存中指向的都是一个内存地址,str字符串只含有大小写字母,数字,下划线,并且长度不过长时会驻留
- 目的(优点):节约内存,提升性能
- 适用的对象:int,bool,str
- 具体细则:-5~256的数字,bool,满足规则的字符串
集合
集合的作用
- 列表的去重
- 关系测试: 交集,并集,差级....
集合的创建
set()
注意:{}是空字典不是空集合
集合的操作
- add 增加
- update 迭代的增加
- remove 按照元素删
- pop 随机删除
- 变相改值: 删除后加入
- 交集:& 2个集合共有的
- 并集:| 2个集合所有的元素
- 差集:- 第一个集合有,第二个集合没有的
- 反交集:^ 除了两个集合共有的,其他元素组成的集合
子集,超集 包含和被包含的关系.被包含的为子集,包含的是超集
列表配合集合完成去重
将列表转化为集合则自动去重,再转化为列表即可
深浅copy
浅拷贝:在内存中开开辟一个新的空间,存放copy的对象(列表,字典但是里面的所有元素与被copy对象里面的元素共同一个)
python对深copy进行一个优化.将不可变的数据类型沿用同一个,可变类型创建一个新内存空间
深copy:嵌套的可变的数据类型不是同一个
使用方法
import copy --->引用copy模块
s=[1,2,3,4]
ss=s.copy()
原文地址:https://www.cnblogs.com/luyi84895838/p/11725247.html
- 关于CLR内存管理一些深层次的讨论[上篇]
- 关于CLR内存管理一些深层次的讨论[下篇]
- Python渗透工具的架构探讨
- 提供第三种代码生成方式——通过自定义BuildProvider为ASP.NET提供代码生成
- 小心,Android木马工具SpyNote免费啦!远程监听就是这么简单
- R语言的kmeans客户细分模型聚类
- .NET的资源并不限于.resx文件,你可以采用任意存储形式[下篇]
- 量化投资教程:用R语言打造量化分析平台
- 也谈事件(Event)
- Zuul:构建高可用网关之多维度限流
- Hystrix:HystrixCollapser请求合并
- oauth2.0 实现spring cloud nosession
- 基于自定义向导的C++单元测试环境自动化配置
- 【spring cloud】自定义jwt实现spring cloud nosession
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一次完整的JVM堆外内存泄漏故障排查记录
- Python 爬虫进阶必备 | 某视频数据分析平台加密参数分析(终于我还是手把手扣了代码)
- Python 爬虫进阶必备 | 某视频平台 sign 加密参数分析
- 进击吧!Pythonista(3/100)
- begin backup导致的故障恢复全过程
- 通过历史控制文件恢复Oracle数据库,只需这10步
- python应用(2):写个python程序给自己用
- 基于Prometheus+Grafana监控SQL Server数据库
- 手把手教你用R语言读取CSV文件
- 6个案例手把手教你用Python和OpenCV进行图像处理
- Android 10(Q)/11(R) 分区存储适配
- Usual*** CMS 8.0代码审计
- 由一条like语句引发的SQL注入新玩法
- 《黑神话:悟空》B站弹幕、知乎回答分析
- 12岁小读者使用Python暴力破解Wi-Fi密码