• 深浅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()
    
  • 相关阅读:
    git 从远程仓库指定分支克隆代码到本地
    vue路由懒加载
    ES6中拓展运算符 ...
    Mysql 安装-windows X64
    mysql-Federated存储方式,远程表,相当于sql server的linked server
    优化临时表使用,SQL语句性能提升100倍
    MySQL行锁深入研究
    mysql 队列 实现并发读
    mysql 常用sql
    mysql分表的3种方法
  • 原文地址:https://www.cnblogs.com/luyi84895838/p/11725247.html
Copyright © 2020-2023  润新知