python集合方法讲解
方法
描述
add()为集合添加元素
clear()移除集合中的所有元素
copy()拷贝一个集合
difference()返回多个集合的差集
difference_update()在原集合上移除两个集合都存在的元素
discard()删除集合中指定的元素
intersection()返回集合的交集
intersection_update()在原集合上移除与其他集合不重复的元素
isdisjoint()判断交集是否为空
issubset()判断指定集合是否为该方法参数集合的子集。
issuperset()判断该方法的参数集合是否为指定集合的子集
pop()随机移除元素
remove()移除指定元素
symmetric_difference()返回两个集合中不重复的元素集合。
symmetric_difference_update()移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union()返回两个集合的并集
update()给集合添加元素
1. add()
add方法向集合中添加元素,即便该元素已经存在于集合中也能向里添加
my_set = set()
my_set.add(1)
my_set.add(1)
my_set.add(2)
print(my_set) # {1, 2}
2. clear()
clear方法清空集合
my_set = set()
my_set.add(1)
my_set.add(2)
print(my_set) # {1, 2}
my_set.clear()
print(my_set) # set() 空集合
3. copy()
拷贝一个集合
my_set = set()
my_set.add(1)
my_set.add(2)
print(my_set) # {1, 2}
my_set_2 = my_set.copy()
print(my_set_2) # {1, 2}
4. difference()
返回集合的差集
s1 = {1, 2, 3}
s2 = {2, 3, 4}
print(s1.difference(s2)) # {1}
print(s2.difference(s1)) # {4}
5. difference_update()
在原集合上移除两个集合都存在的元素,方法没有返回值,下面示例中,s1里的元素被改变了
s1 = {1, 2, 3}
s2 = {2, 3, 4}
s1.difference_update(s2)
print(s1) # {1}
6. discard()
删除集合中的指定元素
s1 = {1, 2, 3}
s1.discard(1)
print(s1) # {2, 3}
7. intersection()
返回集合的交集,集合可以是多个
s1 = {1, 2, 3}
s2 = {2, 3, 4}
s3 = {3, 4, 5}
print(s1.intersection(s2)) # {2, 3}
print(s1.intersection(s2, s3)) # {3}
8. intersection_update()
在原集合上移除与其他集合不重复的元素,其实就是在求交集,intersection也是计算交集,但不改变参与计算的集合内容,而intersection_update会改变原集合的内容。
s1 = {1, 2, 3}
s2 = {2, 3, 4}
s3 = {3, 4, 5}
s1.intersection_update(s2)
print(s1) # {2, 3}
9. isdisjoint()
判断交集是否为空
s1 = {1, 2, 3}
s2 = {2, 3, 4}
print(s1.isdisjoint(s2))
10. issubset()
判断指定集合是否为该方法参数集合的子集。
s1 = {1, 2, 3}
s2 = {1, 2, 3, 4}
print(s1.issubset(s2)) # 判断s1是s2的子集
11. issuperset()
也是判断是否为自己,只是与issubset判断方向相反
s1 = {1, 2, 3}
s2 = {1, 2, 3, 4}
print(s2.issuperset(s1)) # 判断s1是s2的子集
12. pop()
随机的移除一个元素,但在实践中,又与该说法相矛盾
s1 = {8, 1, 2, 3, 4, 5, 6, 7}
s1.pop()
print(s1)
上述代码,每次执行都是删除1
13. remove()
移除指定元素
s1 = {8, 1, 2, 3, 4, 5, 6, 7}
s1.remove(4)
print(s1)
14. symmetric_difference()
返回两个集合中不重复的元素集合
s1 = {1, 2, 3}
s2 = {2, 3, 4}
print(s1.symmetric_difference(s2)) # {1, 4}
15. symmetric_difference_update()
移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中
s1 = {1, 2, 3}
s2 = {2, 3, 4}
s1.symmetric_difference_update(s2)
print(s1)
s1最终的结果等于s1.symmetric_difference(s2)的返回值
16. union()
返回两个集合的并集
s1 = {1, 2, 3}
s2 = {2, 3, 4}
print(s1.union(s2)) # {1, 2, 3, 4}
17. update()
将另一个集合更新到原集合中,给集合添加元素
s1 = {1, 2, 3}
s2 = {2, 3, 4}
s1.update(s2)
print(s1) # {1, 2, 3, 4}