集合
langs = {"python","cpp","java","go"}
print(langs)
print(type(langs))
'''
输出结果:
{'python', 'java', 'cpp', 'go'}
<class 'set'>
'''
#给集合去重
list1 = [1,1,2,3,4,5,6,6]
set1 = set(list1) #把集合转换成列表
print(set1) #输出{1, 2, 3, 4, 5, 6}
list1 = list(set1) #把列表转换成集合
#判断元素是否在集合中
A = {1,2,3}
i = 1 in A
print(i) #输出True
x = 4 not in A
print(x) #True
#追加元素
A.add(5)
#删除元素
A.remove(3) #若被删元素不存在则会报异常
A.discard(99) #若被删元素不存在不会报异常
print(A.pop()) #随机弹出一个元素
#集合的拷贝
C = A.copy()
#提取公有元素---交集
A = {"a","b","b","c","d"}
B = {"b","d","e","f","g"}
AB1 = A.intersection(B)
print(AB1) #输出{'d', 'b'}
AB2 = A & B
print(AB2) #输出{'d', 'b'}
#并集
A = {1,2,3,4,5,5,5}
B = {"a","b","c","d","e","e","e"}
print(A | B) #{1, 2, 3, 4, 5, 'c', 'b', 'd', 'e', 'a'}
print(A.union(B)) #{1, 2, 3, 4, 5, 'c', 'b', 'd', 'e', 'a'}
#差集
A = {"a","b","b","c","d"}
B = {"b","d","e","f","g"}
AB1 = A.difference(B) #取出A中有B中没有的东西{'a', 'c'}
AB2 = B.difference(A) #取出B中有A中没有的东西{'e', 'g', 'f'}
print(AB2)
AB3 = A - B #{'a', 'c'}
AB4 = B - A #{'e', 'g', 'f'}
print(AB3)
#对称差集
AB5 = A.symmetric_difference(B)
print(AB5) #保留集合中各自独有的元素{'c', 'f', 'a', 'g', 'e'}
#对比两个集合是否相等
A = {"a","b","b","c","d"}
B = {"b","d","e","f","g"}
AB = A == B
print(AB) #输出False
#两集合去重,会直接修改集合中的元素
A = {"a","b","b","c","d"}
B = {"b","d","e","f","g"}
B.difference_update(A) #将b中a的元素删除
print(B) #{'f', 'e', 'g'}
#交集更新
A = {"a","b","b","c","d"}
B = {"b","d","e","f","g"}
A.intersection_update(B) #在集合A中保留AB中共有的元素
print(A) #{'d', 'b'}
#删除集合
B.clear()
print(B) #输出set()
#集合的计算
A = {"a","b","b","c","d"}
B = {"b","d","e","f","g"}
x = max(A)
y = min(A)
z = sum(A)