集合是一种无序且元素唯一的容器,它比较像一个字典,但是没有值,只有键。
可以通过两种方式创建,一种是set函数,另一种是大括号语法创建:
a = set([2, 2, 2, 1, 3, 3])
print(a)
#打印
{1, 2, 3}
b = {2, 2, 2, 1, 3, 3}
print(a)
#打印
{1, 2, 3}
#集合的操作可以分为:联合、交集、差集、对称差集:
a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7, 8}
#联合=================
a.union(b)
print(a)
#打印
{1, 2, 3, 4, 5, 6, 7, 8}
print(a|b)
#打印
{1, 2, 3, 4, 5, 6, 7, 8}
#交集=================
a.intersection(b)
print(a)
#打印
{3, 4, 5}
print(a&b)
#打印
{3, 4, 5}
下面列出集合操作的函数:
a.add(x) #将元素x加入集合a
a.clear() #将集合重置为空,清空所有元素
a.remove(x) #从集合a移除元素x
a.pop() #移除任意元素,如果集合是空的抛出keyError
a.union(b) # a|b 将a和b集合的所有不同元素合并
a.update(b) # a|=b 将a的内容设置为a和b的并集
a.intersection(b) #a&b 取出a、b中同时存在的元素
a.intersection_update(b) #a&=b 将a的内容设置a和b的交集
a.difference(b) #a-b 取出在a不在b中的元素
a.difference_update(b) #a-=b 将a的内容设置为在a不在b的元素
a.symmetric_difference(b) #a^b 所有在a或b中,但不同时在a、b中的元素
a.symmetric_difference_update(b) #a^=b 将a的内容设置为所有在a或b中,但不同时在a、b中的元素
a.issubset(b) #如果a包含于b返回True
a.issuperset(b) #如果a包含b返回True
a.isdisjoint(b) #a、b没有交集返回True
注意:集合的元素必须是不可变的,如果想要包含列表的元素,可以将列表转化成元组
当且仅当两个集合的内容一模一样时,两个集合才想等