集合(set)是一个无序不重复元素序列(set可以看成数学意义上的无序和无重复元素的集合)
1.创建集合
我们可以使用大括号{}或者set()函数创建集合
提示Tips:创建一个空集合必须用set()而不是{ },因为{ }是用来创建一个空字典
# 创建一个空集合
aSet = set()
print(aSet) # set()
# 创建多个元素的集合
bSet = set([1,1,2,3,4,5,5])
# {1, 2, 3, 4, 5}
print(bSet)
cSet = {1,1,2,3,4,5,5}
# {1, 2, 3, 4, 5}
print(cSet)
使用集合set可达到去重的效果(重复元素在set中自动被过滤)
2.集合常见操作方法
2.1添加单个元素
add()将元素添加到集合set中,如果元素已经存在,则add()不会添加该元素
aSet = set([1,2,1,3])
print(aSet) # {1, 2, 3}
# add()添加单个元素
aSet.add(4)
print(aSet) # {1, 2, 3, 4}
aSet.add(1)
print(aSet) # {1, 2, 3, 4}
2.2添加多个元素
update()用于修改当前集合,可以添加新的元素或集合到当前集合中,如果添加的元素在集合中已存在,则该元素只会出现一次,重复的会忽略(可以添加多个元素,且参数可以是列表,元组,字典等)
aSet = set([1,2,1,3])
print(aSet) # {1, 2, 3}
# update()添加多个元素
aSet.update([4,5])
aSet.update((5,6))
aSet.update({6,7})
print(aSet) # {1, 2, 3, 4, 5, 6, 7}
a = {"apple", "banana", "cherry"}
b = {"google", "microsoft", "apple"}
a.update(b)
# {'google', 'apple', 'cherry', 'banana', 'microsoft'}
print(a)
2.3移除元素
remove()将指定元素从集合set中移除,如果元素不存在,则会报错
aSet = set([1,2,1,3])
print(aSet) # {1, 2, 3}
# remove()移除元素
aSet.remove(3)
print(aSet) # {1, 2}
# 报错,KeyError: 4
aSet.remove(4)
discard()删除集合中指定的元素,如果元素不存在,不会报错
aSet = set([1,2,1,3])
print(aSet) # {1, 2, 3}
# discard()移除元素
aSet.discard(3)
print(aSet) # {1, 2}
aSet.discard(4)
print(aSet) # {1, 2}
2.4计算集合元素个数
len()用于计算集合中元素的个数
aSet = set([1,2,1,3])
print(aSet) # {1, 2, 3}
# len()计算集合元素个数
print(len(aSet)) # 3
2.5清空集合
clear()用于清空指定的集合(移除集合中的所有元素)
aSet = set([1,2,1,3])
print(aSet) # {1, 2, 3}
# clear()清空集合
aSet.clear()
print(aSet) # set()
2.6判断元素是否在集合中
in判断指定元素是否在集合set中,存在则返回True,不存在则返回False
aSet = set([1,2,1,3])
print(aSet) # {1, 2, 3}
# in判断指定元素是否在集合set中
2 in aSet # True
4 in aSet # False
扩展:not in判断指定元素是否不在集合set中
aSet = set([1,2,1,3])
print(aSet) # {1, 2, 3}
# not in判断指定元素是否不在集合set中
2 not in aSet # False
4 not in aSet # True
2.7拷贝集合
copy()用于拷贝一个集合
aSet = set([1,2,1,3])
print(aSet) # {1, 2, 3}
# copy()用于拷贝集合
bSet = aSet.copy()
print(bSet) # {1, 2, 3}
2.8集合交集/并集/差集
intersection()返回集合的交集
union()返回两个集合的并集
difference()返回多个集合的差集
aSet = set('aabc')
print(aSet) # {'a', 'b', 'c'}
bSet = set('bbcd')
print(bSet) # {'b', 'c', 'd'}
# 使用intersection求aSet与bSet的交集
aSet.intersection(bSet) # {'b', 'c'}
aSet = set('aabc')
print(aSet) # {'a', 'b', 'c'}
bSet = set('bbcd')
print(bSet) # {'b', 'c', 'd'}
# 使用union求aSet与bSet的并集
aSet.union(bSet) # {'a', 'b', 'c', 'd'}
aSet = set('aabc')
print(aSet) # {'a', 'b', 'c'}
bSet = set('bbcd')
print(bSet) # {'b', 'c', 'd'}
# 使用difference求aSet与bSet的差集
aSet.difference(bSet) # {'a'}
bSet.difference(aSet) # {'d'}
扩展补充知识
求两个list列表的交集、并集与差集https://blog.csdn.net/Hudas/article/details/126365642
本文含有隐藏内容,请 开通VIP 后查看