• python 深浅拷贝,集合 ,小数据池 操作


    == 和is 的区别

    • 是判断两边的值是否相同
    • is是判断is 两边的内存地址是否相同
    a = 10
    b = 10
    print(a == b) True
    
    a = 10
    b = 10
    print(a is b) True
    

    小数据池与代码块

    小数据池与代码块的驻留机制的优点:节省空间,提高效率
    优先级:满足条件下先用代码块,如不满足再用小数据池
    小数据池的有效范围:
    int -5~256 
    str 字符串相乘总超度不能超过20 3.6版本20,3.7版本4096
    代码块的有效范围:
    int -5~正无穷 
    str 字符串相乘总超度不能超过20 3.6版本20,3.7版本4096
    

    深浅拷贝和赋值

    浅拷贝只拷贝第一层数据。
    示例:
    lst = [1,2,3,[4,5],6]
    lst1 = lst.copy
    lst[0] = 5                把1修改成5,lst1内容不变
    lst[3].append(6)      在4,5列表中添加一个6,lst1也会跟着改变
    深拷贝不管嵌套多少层,不可变数据共用,可变数据开辟新空间。
    示例:
    lst = [1,2,3,[4,5],6]
    lst1 = lst.copy
    lst[0] = 5                
    lst[3].append(6)      在4,5列表中添加一个6,lst1不会跟着改变
    
    赋值:
    赋值就是一串数据有两个标签。
    

    集合

    集合是无序的
    集合天然去重
    集合里面不能放列表,可以放元组
    
    集合的增删改查
    增:
    s = {1,2,3,4,5}
    s.add(6) 在5后面添加6
    s.update()只能添加可迭代对象(数字不行)
    删:
    s = {1,2,3,4,5}
    s.pop() 删除第一个数(1)
    s.remove(3) 指定元素删除,列表内3将被删除
    s.clear 清空整个列表,清空后是一个空集合set()
    del s 这个是直接删除s这个集合,print(s)是报错的,因为已经删除了
    改:
    s = {1,2,3,4,5}
    1.先删再添加
    2.数据转换
    查:
    for循环查
    s = {1,2,3,4,5}
    for i in s:
    	print(i)
    

    集合的其他操作

    #s1 = {1,2,3,(4,5,6)}
    #s2 = {1,2,3,4,5,(1,2,3)}
    # print(s1 | s2) 并集 一样的去重,不一样的保留
    # print(s1 & s2) 交集 一样的保留,不一样的去除
    # print(s1 ^ s2) 补集 相同的删除,不相同的保留
    # print(s2 > s1) 超集 就是s2里面有s1的数据就是超集,返回True
    # print(s1 < s2)  #子集 就是s1的内容在s2内就是子集,返回False
    # print(s1 - s2) 差集 用s1里的内容减s2的内容,相同就删除,不相同就保留
    # print(s2 - s1) 差集 用s2里的内容减s1的内容,相同就删除,不相同就保留
    
  • 相关阅读:
    代理模式以及operator>()的重载
    asp.net 2.0中gridview里嵌套dropdownlist
    .Net的编码规范
    Google GMail使用技巧
    推荐一些我经常参考的ASP.NET2.0的学习网站
    petShop 4.0 的命名空间 以及各个项目模块的说明
    超强口误
    当每次鼠标点选GRIDVIEW每行的文本框时,该行会加亮
    ASP.NET2.0中Gridview中数据操作技巧
    ASP.NET中的DataGrid控件示例
  • 原文地址:https://www.cnblogs.com/biyunfeng/p/11934583.html
Copyright © 2020-2023  润新知