集合是 Python 内置的一种数据类型,它是由一组无序且不重复的元素所组成的。集合遵循数学中的集合概念,可用于数学抽象和计算机科学中的各种操作。在 Python 中,集合以大括号{}来表示,元素之间用逗号分隔。集合的特点是无序、不重复和可变,因此可以通过添加、删除和更新操作来修改集合。
1、创建集合
可以使用{}或set()创建一个集合,以{}方式创建的集合必须至少包含一个元素,否则被解释为字典。
代码示例:
# 使用{}创建一个集合
s1 = {'apple', 'banana', 'orange'}
print(s1)
# 使用set()创建一个空集合
s2 = set()
print(s2)
输出结果:
{'banana', 'orange', 'apple'}
set()
2、添加元素
可以使用add()方法向集合中添加一个元素,如果集合中已存在该元素,则什么也不做。
代码示例:
# 添加元素
s1.add('grape')
print(s1)
# 添加已存在的元素
s1.add('banana')
print(s1)
输出结果:
{'banana', 'orange', 'apple', 'grape'}
{'banana', 'orange', 'apple', 'grape'}
3、删除元素
可以使用remove()或discard()方法删除集合中的元素,如果元素不存在则抛出 KeyError,但是 discard() 不会抛出 KeyError。
代码示例:
# 删除元素
s1.remove('banana')
print(s1)
# 删除不存在的元素
s1.discard('watermelon')
print(s1)
输出结果:
{'orange', 'apple', 'grape'}
{'orange', 'apple', 'grape'}
4、集合运算
集合可以进行并集、交集、差集、对称差等运算,使用相应的运算符(+、*、-、^)或方法(union()、intersection()、difference()、symmetric_difference())实现。
代码示例:
# 定义两个集合
s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}
# 求并集
print(s1 | s2)
print(s1.union(s2))
# 求交集
print(s1 & s2)
print(s1.intersection(s2))
# 求差集
print(s1 - s2)
print(s1.difference(s2))
# 求对称差
print(s1 ^ s2)
print(s1.symmetric_difference(s2))
输出结果:
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5, 6}
{3, 4}
{3, 4}
{1, 2}
{1, 2}
{1, 2, 5, 6}
{1, 2, 5, 6}
5、判断元素是否在集合中
可以使用in或not in关键字判断一个元素是否存在于集合中。
代码示例:
# 定义一个集合
s = {1, 2, 3, 4}
# 判断元素是否在集合中
print(3 in s)
print(5 not in s)
输出结果:
True
True
6、总结
Python 集合是一个非常实用的数据类型,它可以帮助我们有效地处理和整理数据,尤其是处理需要去除重复元素的数据场景。掌握 Python 集合的常用操作,可以帮助我们更加高效地实现各种算法和函数。