Python中的集合(set)是一个无序的、不包含重复元素的集。集合主要用于数学上的集合操作,如并集、交集、差集和对称差集等。集合使用大括号 {} 来表示,但注意,由于集合中的元素是无序的,且集合中的元素不能是列表(list)或其他可变类型(除非这些可变类型被不可变地封装,如作为元组的元素),因此,在定义集合时,您通常不会看到元素之间的顺序,并且不能通过索引来访问集合中的元素。
如何在Python中利用set()函数以及大括号来构建集合。
示例代码:
| # 使用 set() 函数创建集合
my_set = set() # 创建一个空集合 print(my_set) # 输出: set() # 使用大括号创建集合(推荐只在包含多个元素时使用) my_set = {1, 2, 3} # 创建一个包含1, 2, 3的集合 print(my_set) # 输出可能是: {1, 2, 3} 或其他顺序,因为集合是无序的 # 注意:避免与大括号表示的空字典混淆 empty_set = set() # 正确:使用 set() 创建一个空集合 # empty_set = {} # 错误:这会创建一个空字典 |
代码效果:
| set()
{1, 2, 3} |
集合支持多种操作,包括但不限于:
- 添加元素:使用.add()方法。
- 删除元素:使用.remove()方法(如果元素存在),或使用.discard()方法(如果元素不存在,则不抛出异常)。
- 集合的并集:使用|运算符或.union()方法。
- 集合的交集:使用&运算符或.intersection()方法。
- 集合的差集:使用-运算符或.difference()方法。
- 集合的对称差集:使用^运算符或.symmetric_difference()方法。
示例代码:
| set1 = {1, 2, 3, 4} # 创建一个集合set1,包含元素1, 2, 3, 4
set2 = {3, 4, 5, 6} # 创建一个集合set2,包含元素3, 4, 5, 6 # 并集 print(set1 | set2) # 输出: {1, 2, 3, 4, 5, 6},即集合set1和set2的并集 # 交集 print(set1 & set2) # 输出: {3, 4},即集合set1和set2的交集 # 差集 print(set1 - set2) # 输出: {1, 2},即集合set1与set2的差集 # 对称差集 print(set1 ^ set2) # 输出: {1, 2, 5, 6},即集合set1和set2的对称差集 |
代码效果:
| {1, 2, 3, 4, 5, 6}
{3, 4} {1, 2} {1, 2, 5, 6} |
如何在Python集合中添加和删除元素。集合中的元素是唯一的,且集合本身是无序的,这意味着元素的存储顺序可能不与添加顺序一致。
示例代码:
| # 添加元素
set1.add(7) # 向集合set1添加元素7 print(set1) # 输出可能是: {1, 2, 3, 4, 7} 或其他顺序 # 删除元素 set1.remove(2) # 从集合set1中删除元素2;若元素不存在,将抛出 KeyError # 或者使用 discard # set1.discard(2) # 从集合set1中删除元素2;若元素不存在,不会抛出异常 print(set1) # 输出可能是: {1, 3, 4, 7} 或其他顺序。 |
代码效果:
| {1, 2, 3, 4, 7}
{1, 3, 4, 7} |
86