zoukankan      html  css  js  c++  java
  • 深浅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()
    
  • 相关阅读:
    The test form is only available for requests from the local machine
    64位Win7下,先安装Visual Studio,后安装IIS的设置步骤
    [转] 如何在 64 位的 Windows 7 中安裝 PLSQL DEVELOPER 8 和 Oracle 11g x64 Client
    excel对csv的转义
    js中没有引用的匿名函数调用方法
    缓存实现条件
    js对象成员的删除特性 (delete)
    js语法作用域之间的相关性
    【转】UBOOT之四:uboot.lds分析
    linux C 中的volatile使用
  • 原文地址:https://www.cnblogs.com/luyi84895838/p/11725247.html
Copyright © 2011-2022 走看看