Python【集合set】
文章目录
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
1.集合的基本功能
fruit = {'Apple','Banana','Apple'}
# 集合的去重
print(fruit)
# 判断元素是否在集合内
print('Apple' in fruit)
输出:
{'Apple', 'Banana'}
True
2.集合的运算
x = set([1,2,3])
y = set([2,3,4])
# 集合x减去集合y
print(x - y)
# 集合x、y或运算
print(x | y)
# 集合x、y与运算
print(x & y)
# x、y与运算关于或运算的补集(不同时在x和y当中)
print(x ^ y)
输出:
{1}
{1, 2, 3, 4}
{2, 3}
{1, 4}
3.添加元素
x = set((1,2,3))
print(x)
# x.add(a)将元素a添加到集合x中
x.add(4)
print(x)
输出:
{1, 2, 3}
{1, 2, 3, 4}
除此之外还有一个方法可以添加元素,参数可以是列表、元组、字典:
x = set((1,2,3))
print(x)
# x.update(a)将元素a添加到集合x中
x.update([4,5])
print(x)
x.update((7,8))
print(x)
x.update({10,11})
print(x)
输出:
{1, 2, 3}
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5, 7, 8}
{1, 2, 3, 4, 5, 7, 8, 10, 11}
4.移除元素
4.1 remove()
remove()将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
x = set((1,2,3))
x.remove(1)
print(x)
x.remove(1)
输出:
{2, 3}
Traceback (most recent call last):
File "D:\IDE\PyCharm\Project\Study\demo01.py", line 4, in <module>
x.remove(1)
KeyError: 1
4.2 discard()
此外还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误。格式如下所示:
x = set((1,2,3))
x.discard(1)
print(x)
x.discard(1)
print(x)
输出:
{2, 3}
{2, 3}
4.3 pop()
pop()可以设置随机删除集合中的一个元素
x = set((1,2,3))
x.pop()
print(x)
x.pop()
print(x)
输出:
{2, 3}
{3}
5.集合中元素的个数
x = set((1,2,3))
print(len(x))
x.add(4)
print(len(x))
x.discard(1)
x.discard(2)
print(len(x))
输出:
3
4
2
6.清空集合
x = set((1,2,3))
print(x)
print(len(x))
# clear()可以清空集合
x.clear()
print(x)
print(len(x))
输出:
{1, 2, 3}
3
set()
0
7.拷贝集合
x = set((1,2,3))
y = x.copy()
y.discard(1)
print(x)
print(y)
输出:
{1, 2, 3}
{2, 3}