Python中常用的集合函数及其用法
Python中集合是一种可变的无序容器,可以存储任意类型的数据,且每个元素都是 的。集合的功能比列表更强大,支持集合的交、并、差等操作。在Python中,集合有许多内置的函数和方法,本文将介绍并讲解一些常用的集合函数和方法。
1. set()
set()函数创建一个空集合,或者从可迭代对象(如列表、元组等)中创建一个集合。
语法:
set()
set(iterable)
实例:
# 创建一个空集合
s = set()
print(type(s)) # <class 'set'>
# 从列表中创建一个集合
l = [1, 2, 3, 4]
s = set(l)
print(s) # {1, 2, 3, 4}
2. add()
add()方法在集合中添加一个元素。如果元素已经存在,则不会有任何影响。如果添加多个元素,则可以多次调用该方法。
语法:
set.add(elem)
实例:
s = {1, 2, 3}
s.add(4)
print(s) # {1, 2, 3, 4}
s.add(2)
print(s) # {1, 2, 3, 4}
3. remove()
remove()方法从集合中移除指定元素。如果元素不存在,则会抛出KeyError异常。
语法:
set.remove(elem)
实例:
s = {1, 2, 3}
s.remove(2)
print(s) # {1, 3}
s.remove(4) # 抛出KeyError异常
4. pop()
pop()方法从集合中移除一个随机元素,并返回该元素的值。如果集合为空,则会抛出KeyError异常。
语法:
set.pop()
实例:
s = {1, 2, 3}
x = s.pop()
print(s) # {2, 3}
print(x) # 1
s.pop()
s.pop()
s.pop() # 抛出KeyError异常
5. clear()
clear()方法从集合中移除所有元素。
语法:
set.clear()
实例:
s = {1, 2, 3}
s.clear()
print(s) # set()
6. copy()
copy()方法返回集合的一个副本。
语法:
set.copy()
实例:
s1 = {1, 2, 3}
s2 = s1.copy()
print(s2) # {1, 2, 3}
s1.add(4)
print(s1) # {1, 2, 3, 4}
print(s2) # {1, 2, 3}
7. intersection()
intersection()方法返回两个或多个集合的交集。
语法:
set1.intersection(set2, set3, ...)
实例:
s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}
s3 = {2, 4, 6, 8}
s4 = {1, 3, 5, 7}
s5 = s1.intersection(s2, s3, s4)
print(s5) # {4}
8. union()
union()方法返回两个或多个集合的并集。
语法:
set1.union(set2, set3, ...)
实例:
s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}
s3 = {2, 4, 6, 8}
s4 = {1, 3, 5, 7}
s5 = s1.union(s2, s3, s4)
print(s5) # {1, 2, 3, 4, 5, 6, 7, 8}
9. difference()
difference()方法返回两个集合之间的差集。
语法:
set1.difference(set2)
实例:
s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}
s3 = s1.difference(s2)
print(s3) # {1, 2}
10. symmetric_difference()
symmetric_difference()方法返回两个集合之间的对称差集,即两个集合中不重复的元素的集合。
语法:
set1.symmetric_difference(set2)
实例:
s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}
s3 = s1.symmetric_difference(s2)
print(s3) # {1, 2, 5, 6}
这些函数是Python集合中最常用的一些函数。掌握这些函数可以更方便、高效地进行集合操作。需要注意的是,Python的集合操作是基于集合的数学理论实现的,因此一些集合函数的行为可能与列表函数不同。
