# #!/usr/bin/env python # # -*- coding:utf-8 -*- # ''' # 集合 不同元素组成的集合,只能放不可变类型 # 不同的值存放到一起 相同的话不显示 # 无序 # ''' #创建集合 set_test = {"sd",123,("das",55)} print(set_test) test = set([1,2,3,4,5,6,2,2]) print(test) #向集合中增加一个元素 test.add("das") #更新多个值 test.update([555,4487,798]) print(test) #清空 test.clear() print(test) #拷贝 test = set_test.copy() print(test) #指定删除 若不存在会报错 test.remove("sd") print(test) #删除 随机删除一个 test.pop() print(test) #删除元素不存在不会报错 test.discard("sss") print(test) #集合运算 java = [23,56,48946,114,557,21387,23] python = [23,56,789,4777,489687,23] #去重 j = set(java) p = set(python) print(j,p) #求交集 jj = j.intersection(p) pp = j&p print(jj,pp) #求并集 2个列表去重 bj = j.union(p) bp = j|p print(bj,bp) j.update(p)#等于bj = j.union(p) 也可以用于更新多个值 print(j) #求差集 cj = j-p cp = p-j print(cj,cp) cjj = j.difference(p) cpp = p.difference(j) print(cjj,cpp) j.difference_update(p) #等于cjj = j.difference(p) print(j) # #求交叉补集 print(j.symmetric_difference(p),p.symmetric_difference(j)) print(j^p,p^j) #判断是否有交集 s1 = {1,2,3} s2 = {7,4,5} s3 = {5,2,8} print(s1.isdisjoint(s2),s1.isdisjoint(s3)) #判断是否是子集 s4 = {1} print(s4.issubset(s1),s1.issubset(s4)) #判断是否是父集 print(s1.issuperset(s4),s4.issuperset(s1)) #不可变集合 name = [1,5,7,8] bb = frozenset(name) print(bb)
运行结果