【python基础】集合方法汇总

时间:2023-12-20 11:46:20

一、定义

  用于存储一组无序的不重复的数据

二、特点

  1、 集合是无序的
  2、集合中的元素是不重复的, 唯一的
  3、集合中存储的数据必须是不可变的数据类型
  4、集合是可变的数据类型

三、语法

  set1 = {1, 2, 3} # int --> 不可变

  1、增加:
    add()
    update()   

    参数: 可迭代对象(容器)
    将可迭代对象中和集合中不重复的元素添加到集合中

 # 添加操作 add
set5 = {1, 2, 3}
set5.add(4)
print(set5) # {1, 2, 3, 4} # update()
set5.update({5, 6, 7, 8})
print(set5) # {1, 2, 3, 4, 5, 6, 7, 8}

  2、删除:
    pop() 随机删除某个元素
    remove() 删除指定的元素
    clear() 清空集合
    del 集合名 删除整个集合

 set5.pop()  # 随机删除一个数据
print(set5) set5.remove(100) # 删除指定元素
print(set5) # {2, 3, 4, 5, 6, 7, 8} set5.clear()
print(set5) # set() del set5
# print(set5) # NameError: name 'set5' is not defined 

  3、集合的遍历: for in

四、运算

  1、交集: 取的公共部分 & intersection

 set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
print(set1 & set2) # {3, 4}
print(set1.intersection(set2))

  2、并集: 取的是所有部分,不包括重复数据 | union

 print(set1 | set2)  # {1, 2, 3, 4, 5, 6}
print(set1.union(set2))

  3、差集: 第一个集合有的,第二个集合没有的 - difference

 print(set1 - set2)  # {1, 2}
print(set1.difference(set2))

  4、反交集: 跟交集反着 取的非公共部分 ^ symmetric_difference

 print(set1 ^ set2)  # {1, 2, 5, 6}
print(set1.symmetric_difference(set2))

  5、子集:判断某个集合是不是另一个集合的子集 set1 < set2 issubset

 print(set1 < set2)  # False
print(set1.issubset(set2)) print({1, 2} < {1, 2, 3, 4}) # True print(set2 > set1) # False
print(set2.issuperset(set1)) print({3, 4, 5, 6} > {3, 6}) # True