美文网首页
Python3 的数据类型5-集合

Python3 的数据类型5-集合

作者: RaoZC | 来源:发表于2019-03-07 14:37 被阅读0次

    集合是一个无序不重复序列。

    1. 集合创建

    集合用大括号{}或set()创建。空集必须用set()来创建,而不能用{},因为{}用来创建空字典。
    集合与字典都是用大括号{}包围,不同点在于,集合里面的元素并非成对,只是一个个独立值,而字典里是键值:值对,即:

    >>>a={"key1":"value1","key2":"value2"}      字典
    >>>b={value1,value2}                        集合
    

    2. 集合运算

    其实与数学的集合运算一样,因为是无序的,因此集合的加减不是值与值的加减,只是集合里值得增减,例如:

    >>>a=set('abcdefabc')
    >>>b=set('abcd')
    >>>a
    {'a', 'b', 'c', 'd', 'e', 'f'}        后面重复的abc删掉了
    >>>a-b
    {'e', 'f'}
    >>>a|b        a与b并集
    >>>a&b      a与b交集
    >>>a^b      不同时包含a和b的元素,a交b的补集
    

    3. 集合操作

    序号 操作 描述
    1 s.add(x) 增加元素x
    2 s.remove(x) 删除元素x,没有x则发生错误
    3 s.discard(x) 删除元素x,没有x也不会发生错误
    4 s.pop() 脚本模式随机删除一个元素,交互模式删除最后一个元素?
    5 len(s) 计算集合长度
    6 s.clear 清空集合
    7 x in s 判断x是否在s中

    4. 集合方法

    序号 方法 描述
    add() 为集合添加元素
    clear() 移除集合中的所有元素
    copy() 拷贝一个集合
    difference() 返回多个集合的差集
    difference_update() 移除集合中的元素,该元素在指定的集合也存在。
    discard() 删除集合中指定的元素
    intersection() 返回集合的交集
    intersection_update() 删除集合中的元素,该元素在指定的集合中不存在。
    isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
    issubset() 判断指定集合是否为该方法参数集合的子集。
    issuperset() 判断该方法的参数集合是否为指定集合的子集
    pop() 随机移除元素
    remove() 移除指定元素
    symmetric_difference() 返回两个集合中不重复的元素集合。
    symmetric_difference_update() 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
    union() 返回两个集合的并集
    update() 给集合添加元素

    参考:Python3 菜鸟教程

    相关文章

      网友评论

          本文标题:Python3 的数据类型5-集合

          本文链接:https://www.haomeiwen.com/subject/qyxqpqtx.html