• Python学习:集合



    集合学习笔记
    1.添加 add()  注意:add仅可更新一个值

    s={1,2,3,4}
    s.add(6)
    print(s)

    2.清空集合clear()

    s={1,2,3,4}
    s.clear()
    print(s)

    3.拷贝 copy()

    s={1,2,3,4}
    s1=s.copy()

    4.随机删除 pop()

    s={1,2,3,4}
    s.pop()
    print(s)

    5.指定删除 remove() 注意:删除集合中不存在的元素会报keyerror的错

    s={1,2,3,4}
    s.remove('3')
    print(s)

    6.指定删除 discard()   注意:删除集合中不存在的元素不会报错

    s={1,2,3,4}
    s.discard('sbbbb')
    print(s)

    交并差

    list1=[1,2,3,4,5]
    list2=[2,3,5,5,6,7,8]
    
    set1=set(list1)
    set2=set(list2)
    
    print(set1.intersection(set2))
    print(set1&set2)

    注意:set1&set2 和set1.intersection(set2)效果一致,求交集

    print(set1.union(set2))
    print(set1|set2)

    注意:set1.uniont(set2)效果与set1|set2相同

    list1=[1,2,3,4,5]
    list2=[2,3,5,5,6,7,8]
    set1=set(list1)
    set2=set(list2)
    print(set1-set2)
    print(set2-set1)
    print(set1.difference(set2))
    print(set2.difference(set1))

    集合的其他内置方法
    交叉补集

    print(set1.symmetric_difference(set2))
    print(set1^set2)

    差集运算之difference_update()

    set1.difference_update(set2)
    上述语句效果等同于set1=set1-set2
    difference_update的效果就是差集运算,并将值重新赋予左边的变量

    isdisjoint():两个集合没有交集,返回True,否则返回False

    s1={1,2}
    s2={3,4print(s1.isdisjoint(s2))

    issubset():s1<=s2 判断包含关系,s1是s2的子集时,返回True,否则返回False
    issuperset():s1>=s2 判断包含关系,s1是s2的父集时,返回True,否则返回False

    s1={1,2}
    s2={1,2,3}
    print(s1.issubset(s2))
    print(s2.issuperset(s1))

    update():效果相当于将s2赋值给s1 可以更新多个值

    s1.update(s2)
    print(s2)

    补充:
    frozenset:定义不可变集合

    s=frozenset('hello')
    print(s)

    举例:

    可以看到,add方法已不可用,

  • 相关阅读:
    OS第6次实验报告:使用信号量解决进程互斥访问
    操作系统第5次实验报告:内存管理
    OS第4次实验报告:文件系统
    OS第3次实验报告:命名管道
    Derby小记
    eclipse连接SQL Server2012
    录屏工具——Captura
    OS第2次实验报告:创建进程
    OS第1次实验报告:熟悉使用Linux命令和剖析ps命令
    第四次实验报告:使用Packet Tracer理解RIP路由协议
  • 原文地址:https://www.cnblogs.com/reseelei-despair/p/11418674.html
Copyright © 2020-2023  润新知