Python-集合

#各数据结构访问顺序:

  1. 直接访问:数字
  2. 顺序访问:字符串、列表、元组(可通过下标访问)
  3. 映射:字典

集合(set):

  定义方式:

    s = {1,2,3,’s’}

    s = set(‘hello’)    #可变类型集合,原集合可增删,不可修改

    s = frozenset(‘hello’)  #不可变集合,不可增删改

  特征:

    1. 不同元素组成
    2. 无序
    3. 内部元素均为不可变类型(字符串、数字、元组)

#删除的三种方法:

v = s.pop()     #随机删除某一元素,并赋值给v
s.remove('h')   #删除指定元素,若不存在则报错
s.discard('s')  #删除指定元素,若不存在不报错

#集合的关系运算(交、并、差、交叉补集):

print(p.intersection(l))    #交集
print(p & l)
print(p.union(l))           #并集
print(p | l)
print(p.difference(l))      #差集(存在于前面但不存在于后面的元素)
print(p - l)
print(p.symmetric_difference(l))  #交叉补集(并集-交集)
print(p^l)

#添加新元素:

s1.add(3)      #只能更新一个值
s1.update()    #求s1和s2的并集,并将结果赋值回s1(union只计算并集,不赋值给原集合)
s1.update([1,'s',(1,2)])  #同时添加多个元素时要用[]括起来(即列表形式)

#其它常见方法:

s1.isdisjoint(s2)   #交集是否为空,为空返回True
s1.issubset(s2)     #s1是否是s2的子集
s2.issuperset(s1)   #s2是否是s1的父集
原文地址:https://www.cnblogs.com/yu-long/p/9941174.html