Python集合(set)是一种无序且不重复的数据结构,通过使用大括号 {} 或 set() 函数创建。在Python中集合可以用于数学运算,如并集、交集和差集等。
创建集合
在Python中,我们可以使用大括号 {} 或 set() 函数来创建集合。如下面的例子所示,我们可以通过两种方式创建一个包含一些数字的集合:
# 使用大括号 {} 创建集合
set1 = {1, 2, 3, 4, 5}
# 使用 set() 函数创建集合
set2 = set([6, 7, 8, 9, 10])
需要注意的是,如果我们使用大括号创建一个空的集合,会得到一个空字典而不是一个空集合,因为两者的语法非常相似。因此,如果需要创建空集合,必须使用 set() 函数:
# 创建空集合
empty_set = set()
集合操作
Python集合有许多有用的操作方法,接下来我们将介绍其中的一些。
添加元素
向集合中添加元素可以使用 add() 方法:
set1.add(6)
删除元素
从集合中删除元素可以使用 remove() 或 discard() 方法:
set1.remove(6)
set2.discard(9)
这两个方法的区别在于,如果我们使用 remove() 方法删除一个不存在的元素,会抛出 KeyError 异常;而使用 discard() 方法则不会。
集合运算
Python集合支持许多有用的数学运算,例如并集、交集和差集等。我们可以使用 &、| 和 - 运算符进行这些操作:
set3 = {1, 2, 3}
set4 = {3, 4, 5}
# 并集
set5 = set3 | set4 # {1, 2, 3, 4, 5}
# 交集
set6 = set3 & set4 # {3}
# 差集
set7 = set3 - set4 # {1, 2}
除了这些基本操作之外,Python集合还支持更多的高级操作,例如对称差集、子集和超集判断等。
集合推导式
与列表推导式类似,集合也支持推导式。例如,我们可以使用集合推导式来创建一个包含所有偶数的集合:
set8 = {x for x in range(10) if x % 2 == 0} # {0, 2, 4, 6, 8}
应用场景
Python集合的去重功能非常适合用在需要去重的场景中。例如,我们可以使用集合来统计文章中不同单词的个数:
article = 'This is a test article. The article contains some test words.'
word_list = article.split()
word_set = set(word_list)
print(len(word_set)) # 10
在这个例子中,我们使用 split() 方法将文章分割成单词列表,然后使用集合去重,最后得到文章中不同单词的个数。
总结
Python集合是一种非常实用的数据结构,可以用于去重、数学运算等场景。熟练掌握集合的操作,对于Python编程会有很大的帮助。除了本文介绍的这些操作之外,Python集合还有许多其他有用的方法,需要我们在实践中去探索和应用。