• Python学习之旅(九)


    Python基础知识(8):集合

    集合:由不同元素组成,无序的,不重复的序列

    补充知识:可变类型:列表、字典;不可变类型:数字、字符串、元组

    使用大括号{}或set()方法定义集合

    se=set("hello")
    se

    结果:

    {'e', 'o', 'l', 'h'}

    可以使用set方法对列表进行去重

    注:创建一个空集合必须用 set() 而不是 { }, { } 是用来创建一个空字典。

    定义不可变字符要用frozenset方法,用add、remove、update方法无法改变frozenset定义的集合

    集合的运算

    交集&、并集|、补集(差集)-、对称补集^、子集<、超集(父集)>

    交集 & 
    并集 | 
    补集(差集) - 
    对称补集 ^ 
    子集 < 
    超集(父集) >

    1、intersection:求交集

    s1={1,2,3,4}
    s2={7,2,4,9,10}
    s1.intersection(s2)

    结果:{2, 4}

    2、union:求并集

    s1={1,2,3,4}
    s2={7,2,4,9,10}
    s1.union(s2)

    结果:

    {1, 2, 3, 4, 7, 9, 10}

    3、difference:求差集

    s1={1,2,3,4}
    s2={7,2,4,9,10}
    s1.difference(s2)
    结果:
    {1, 3}
    s2.difference(s1)
    结果:
    {9, 10, 7}

    4、symmetric_difference:交叉并集

    交叉并集可以看做并集减去交集

    s1={1,2,3,4}
    s2={7,2,4,9,10}
    s1.symmetric_difference(s2)

    结果:

    {1, 3, 7, 9, 10}

    集合方法

    1、add:添加元素

    2、clear:清除元素

    3、copy:复制

    4、pop:随机移除元素

    5、remove:移除指定元素,若元素不存在则报错

    6、discard:删除元素,若元素不存在不会报错

    7、difference_update:求出差集后并对该集合进行更新

    8、intersection_update:求出交集后并对该集合进行更新

    9、isdisjoint:判断两个集合是否包含相同的元素,包含返回False,否则返回True

    s1={1,2,3,4}
    s2={7,2,4,9,10}
    s1.isdisjoint(s2)

    结果:False

    10、issubset:判断一个集合的元素是否都在另一个集合中

    s1={1,2,3,4}
    s3={1, 2, 3, 4, 7, 9, 10}
    s1.issubset(s3)

    结果:True

    11、issuperset:判断一个集合的元素是否包含另一个集合中的所有元素

    s1={1,2,3,4}
    s3={1, 2, 3, 4, 7, 9, 10}
    s3.issuperset(s1)

    结果:True

    12、symmetric_difference_update:求出交叉并集后并对该集合进行更新

    13、update:对多个元素进行更新

  • 相关阅读:
    js ++i和i++的区别
    js斐波那契数列
    js二分查找算法
    js查找、自组织数据
    查找数组最小值、最大值
    CSS布局(圣杯、双飞翼、flex)
    碰撞检测实现
    ECharts注释
    购物查看放大
    动手封装一个滚轮事件吧!
  • 原文地址:https://www.cnblogs.com/finsomway/p/9983662.html
Copyright © 2020-2023  润新知