交叉补集:先合并再减去共有的
python_1 = ['lcg', 'szw', 'zjw'] linux_1 = ['lcg', 'szw','liushui'] p_s=set(python_1) l_s=set(linux_1) print(p_s,l_s) print(p_s.symmetric_difference(l_s))#求交叉补集集 print(p_s^l_s) #求交叉补集集
输出
{'lcg', 'zjw', 'szw'} {'lcg', 'szw', 'liushui'} {'zjw', 'liushui'} {'zjw', 'liushui'}
判断是否有交集
#判断是否有交集 有False 无True s1={1,2} s2={3,4} print(s1.isdisjoint(s2))
输出
True
判断子父集关系
#判断子集 s1={1,2} s2={1,2,3,} print(s1.issubset(s2))# s1是否是s2的子集 print(s2.issubset(s1))# s2是否是s1的子集 print(s2.issuperset(s1))#判断s2是否是s1的父集
输出
True
False
True
更新
#更新 s1={1,2} s2={1,2,3,} s1.update(s2) print(s1)#更新为s2,add是在后面添加一个值
输出
{1, 2, 3}
定义一个不可变的集合
#定义一个不可变的集合 s=frozenset('hello') print(s) s.add
报错
AttributeError: 'frozenset' object has no attribute 'add'
#定义一个不可变的集合 s=frozenset('hello') print(s) s.pop
报错
AttributeError: 'frozenset' object has no attribute 'pop'
列表与集合之间的转换
# 列表与集合之间的转换 names = ['alex', 'alex', 'wupeiqi'] s = set(names) print(s) names = list(s) print(names)
输出
{'alex', 'wupeiqi'} ['alex', 'wupeiqi']
# 列表与集合之间的转换 names = ['alex', 'alex', 'wupeiqi'] s = set(names) names = list(set(names)) print(names)
输出
['alex', 'wupeiqi']