• 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方法已不可用,

  • 相关阅读:
    磁盘原理总结
    Algorithm:多维数组和矩阵
    Algorithm:字典序最小问题
    Algorithm:递归思想及实例分析
    Algorithm:贪心策略之区间覆盖问题
    Algorithm:贪心策略之区间选点问题
    Algorithm:位运算的这些小技巧你知道吗?
    面试题
    操作系统
    数据结构:B树和B+树的插入、删除图文详解
  • 原文地址:https://www.cnblogs.com/reseelei-despair/p/11418674.html
Copyright © 2020-2023  润新知