7.2 集合

集合和列表以及元组很像,集合不能有重复的元素,而且没有下标这个概念
集合使用花括号:
set1={1,2,43,6,7,2}
print(set1) #会打印{1,2,43,6,7},最后的2因为重复已经忽略掉了
print(len(set1)) #会打印5而不是6
以下是集合常用的方法:
方法名说明示例
add()向集合中添加元素s = {1, 2, 3}
s.add(4)
print(s) #将打印 {1, 2, 3, 4}
clear()清空集合中所有元素s = {1, 2, 3}
s.clear()
print(s) #将打印 set()
copy()复制集合中所有元素s = {1, 2, 3}
s_copy = s.copy()
print(s_copy) #将打印 {1, 2, 3}
difference()返回两个集合差集中的元素s1 = {1, 2, 3}
s2 = {2, 3, 4, 5}
s_diff = s1.difference(s2)
print(s_diff) #将打印 {1}
discard()移除集合中指定元素,元素不存在时不会报错s = {1, 2, 3, 4}
s.discard(3)
print(s) #将打印 {1, 2, 4}
intersection()返回两个集合交集中的元素s1 = {1, 2, 3}
s2 = {2, 3, 4, 5}
s_inter = s1.intersection(s2)
print(s_inter) #将打印 {2, 3}
isdisjoint()判断两个集合是否没有交集,返回布尔值s1 = {1, 2, 3}
s2 = {4, 5, 6}
print(s1.isdisjoint(s2)) #将打印 True
issubset()判断一个集合是否为另一个集合的子集,返回布尔值s1 = {1, 2}
s2 = {1, 2, 3}
print(s1.issubset(s2)) #将打印 True
issuperset()判断一个集合是否为另一个集合的超集,返回布尔值s1 = {1, 2, 3}
s2 = {1, 2}
print(s1.issuperset(s2)) #将打印 True
pop()随机删除集合中的一个元素,并返回该元素s = {1, 2, 3}
popped = s.pop()
print(popped) #将打印一个集合中随机的元素,比如 1
remove()删除集合中指定元素,元素不存在时会报错s = {1, 2, 3, 4}
s.remove(3)
print(s) #将打印 {1, 2, 4}
symmetric_difference()返回两个集合对称差集中的元素s1 = {1, 2, 3}
s2 = {2, 3, 4, 5}
s_symmetric_diff = s1.symmetric_difference(s2)
print(s_symmetric_diff) #将打印 {1, 4, 5}
union()返回两个集合并集中的元素s1 = {1, 2, 3}
s2 = {2, 3, 4, 5}
s_union = s1.union(s2)
print(s_union) #将打印 {1, 2, 3, 4, 5}
in操作符判断元素是否在集合里s1 = {1, 2, 3}
t=2
m=5
print(t in s1) #将打印True
print(m in s1) #将打印False
用for仍然可以遍历集合:
set1={1,2,43,6,7,2}
for t in set1:
    print(t)