python3 集合set

set是一种集合的数据类型,使用{}表示

集合中元素是无序的,并且不可重复,集合最重要的作用就是可以去重

set是不可哈希的,set中的元素必须是可哈希的

可以切片,可以迭代

交集、并集、差集、对称差集:

a = {1,2,3,4,5}
b = {3,4,5,6,7}

#交集a,b两个集合中相同元素的集合
a.intersection(b)    #{3, 4, 5}
a & b    #{3, 4, 5}

#并集是a,b两个集合中包含的所有元素的集合
a.union(b)   #{1, 2, 3, 4, 5, 6, 7}
a | b    #{1, 2, 3, 4, 5, 6, 7}

#差集是前一个集合中包含而后一个集合中不包含的元素的集合
a.difference(b)  #{1, 2}
a - b    #{1, 2}
b.difference(a)  #{6, 7}
b - a    #{6, 7}

#对称差集是两个集合相互差集的集合
a.symmetric_difference(b)    #{6, 7}
a ^ b    #{6, 7}
b.symmetric_difference(a)    #{6, 7}
b ^ a    #{6, 7}

父集、子集:

a = {1,2,3,4}
b = {1,2,3}

#判断a是否为b的父集
a.issuperset(b)  #True
a > b    #True

#判断b是否为a的子集
b.issubset(a)   #True
b < a    #True

常用方法:

  add(elmnt):添加一个元素

  discard(elmnt):移除一个元素

  remove(elmnt):移除一个元素,元素不存在时会异常

  pop():移除并且返回一个任意的元素,set为空则异常

上一篇:[luogu2657][windy数]


下一篇:mysql mpm