概念
集合是⽆序的不可重复的元素的集合。你可以把它当做字典,但是只有键没有值。可以⽤两种⽅式创建集合:通过set函数或使⽤尖括号set语句。
set([2,2,2,1,3,3])
输出:
{1,2,3}
集合⽀持合并、交集、差分和对称差等数学集合运算。
合并是取两个集合中不重复的元素。可以⽤union⽅法,或者|运算符:
a = {1,2,3,4,5}
b = {3,4,5,6,7,8}
a.union(b)
a | b
输出
{1,2,3,4,5,6,7,8}
交集的元素包含在两个集合中。可以⽤intersection或&运算
符:
a = {1,2,3,4,5}
b = {3,4,5,6,7,8}
a.intersection(b)
a&b
输出:
{3,4,5}
方法
函数 | 替代语法 | 说明 |
---|---|---|
a.add(x) | 将元素添加到集合a | |
a.clear() | 将集合清空 | |
a.remove(x) | 将元素x从集合a中除去 | |
a.pop() | 从集合a去除任意元素,如果集合为空,则抛出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.symmetric_difference_update(b) | a^=b | 集合a中的元素为只在a或只在b中的元素 |
a.issubset(b) | 如果a中的元素全部属于b,则为True | |
a.issuperset(b) | 如果b中的元素全部属于a,则为True | |
a.isdisjoin(b) | 如果a和b无共同元素,则为True |