【python--集合】增删改 交集 差集 并集 反交集 子集和超集

#
dic = {}
print(type(dic))
se = {}
print(type(se))
se = set()
print(type(se))
#
# # 创建空集合
se = set()
# se = set(iterable)
# 直接创建    集合的元素是不可变的 ---- int str  tuple  bool
se = {'nihao',999,(1,2,3,6)}
 # 集合本身是可变的  集合的元素是不可变的
 #  集合是无序的  自动去重
 #  列表转集合    自动去重

#  集合的增 -----------------
#     add
se = {'nihao',999,(1,2,3,6)}
se.add('女神')
print(se)
#  {(1, 2, 3, 6), '女神', 'nihao', 999}
#     update
se = {'nihao',999,(1,2,3,6)}
se.update('S')
print(se)
#  {(1, 2, 3, 6), 'S', 'nihao', 999}

# 集合的推导式
se = { i for i in range(9) }
print(se)
#  {0, 1, 2, 3, 4, 5, 6, 7, 8}

# 集合的删----------------
#   remove    删除指定元素
se = {'nihao',999,(1,2,3,6)}
se.remove('nihao')
print(se)
#   {(1, 2, 3, 6), 999}
#    pop   随即删除一个元素
se = {'nihao',999,(1,2,3,6)}
se.pop()   #   不能传参数
print(se)
#    clear    清空集合
# se = {'nihao',999,(1,2,3,6)}
# se.clear()
# print(se)
#   set()
#     del    删除集合
# se = {'nihao',999,(1,2,3,6)}
# del se
# print(se)
# NameError: name 'se' is not defined


#   集合的交集    获取 两个或多个集合的 交集  相同值
#   &  或 intersection
se1 = {1,2,3,6,5}
se2 = {9,88,65,5,65}
print(se1 & se2)     #  {5}
print(se1.intersection(se2))   #  {5}

#   集合的并集   两个 或多个 集合 并和在一起
#  |  或  union
se1 = {1,2,3,6,5}
se2 = {9,88,65,5,65}
print(se1|se2)      #   {1, 2, 3, 65, 5, 6, 9, 88}
print(se1.union(se2))   #  {1, 2, 3, 65, 5, 6, 9, 88}

#   集合的差集
#   -  或 differrence
se1 = {1,2,3,6,5}
se2 = {9,88,65,5,65}
print(se1-se2)    # {1, 2, 3, 6}
print(se1.difference(se2))   # {1, 2, 3, 6}

#   集合的反交集       获取  去掉交集的两个集合的并集
#   ^ 或者 symmetric_difference
se1 = {1,2,3,6,5}
se2 = {9,88,65,5,65}
print(se1^se2)    #  {65, 1, 2, 3, 6, 9, 88}
print(se1.symmetric_difference(se2))   # {65, 1, 2, 3, 6, 9, 88}

#   集合的子集和超集
set1 = {1,2,3}
set2 = {1,2,3,4,5,6}

print(set1 < set2)    # Ture
print(set1.issubset(set2))  # Ture   # 这两个相同,都是说明set1是set2子集。

print(set2 > set1)    # Ture
print(set2.issuperset(set1))  # Ture  # 这两个相同,都是说明set2是set1超集。

# frozenset 不可变集合 让集合变成不可变类型
s = frozenset('barry')
print(s,type(s))   # frozenset({'a', 'y', 'b', 'r'}) <class 'frozenset'>

 

posted @ 2020-07-17 15:15  XuanchenLi  阅读(334)  评论(0编辑  收藏  举报