python基础七之集合
集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。
增加
set1 = {'zxc', 'zxf'} set1.add('zxv') # 无序添加 set1.update('zxv') # 迭代添加 无序 set1.update({'zxf', 'zxc'}) # 将集合和其他的集合的合集添加给自己 print(set1)
删除
set1 = {'zxc', 'zxf', 'zxv'} set1.pop() # 随机删除 返回删除值 set1.remove() # 按元素删除,没有则报错 set1.clear() # 清空集合 del set1 # 删除集合
查看
set1 = {'zxc', 'zxf', 'zxv'} # 无序 for i in set1: print(i)
交集
set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} print(set1 & set2) print(set1.intersection(set2)) # {4, 5}
并集
set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} print(set1 | set2) print(set1.union(set2)) # {1, 2, 3, 4, 5, 6, 7, 8}
反交集
set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} print(set1 ^ set2) print(set1.symmetric_difference(set2)) # {1, 2, 3, 6, 7, 8}
独有集
set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} print(set1 - set2) print(set1.difference(set2)) # {1, 2, 3}
包含关系
子集
set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} # 子集 set1是否是set2的子集 print(set1 < set2) print(set1.issubset(set2)) # False
超集
set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} # 超集 set2是否是set1的超集 print(set2 > set1) print(set2.issuperset(set1)) # False
frozenset
# 冻结 转为冻结的集合,无法删除和添加 s = frozenset('zxc') # 可迭代对象 print(s) # frozenset({'x', 'c', 'z'})