7.3 集合(set):创建、运算(交集、并集、差集)与去重
Python集合教程:从创建到运算,轻松掌握去重技巧
本教程为Python初学者详细讲解集合(set)的基础知识,包括如何创建集合、进行交集、并集、差集运算,以及利用集合高效去重的实用技巧,帮助新手快速入门。
推荐工具
Python集合教程:创建、运算与去重
什么是集合(set)?
集合是Python中的一种内置数据类型,用于存储无序、不重复的元素。它类似于数学中的集合概念,常用于快速去重和数据运算。
1. 创建集合
集合可以通过大括号 {} 或 set() 函数创建。
示例:
# 使用大括号创建集合
fruits = {"apple", "banana", "orange"}
print(fruits) # 输出:{'orange', 'banana', 'apple'} 顺序可能不同
# 使用set()函数创建集合
numbers = set([1, 2, 3, 2, 1]) # 列表中的重复元素会自动去重
print(numbers) # 输出:{1, 2, 3}
注意:空集合必须用 set() 创建,而不是 {}(那是空字典)。
2. 集合运算
集合支持多种数学运算,如交集、并集、差集等,这些运算可以通过方法或操作符完成。
交集(Intersection)
找出两个集合中共有的元素。
- 方法:
set1.intersection(set2) - 操作符:
&
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
print(set1.intersection(set2)) # 输出:{3, 4}
print(set1 & set2) # 输出相同:{3, 4}
并集(Union)
合并两个集合的所有元素(去重)。
- 方法:
set1.union(set2) - 操作符:
|
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1.union(set2)) # 输出:{1, 2, 3, 4, 5}
print(set1 | set2) # 输出相同:{1, 2, 3, 4, 5}
差集(Difference)
找出在第一个集合中但不在第二个集合中的元素。
- 方法:
set1.difference(set2) - 操作符:
-
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
print(set1.difference(set2)) # 输出:{1, 2}
print(set1 - set2) # 输出相同:{1, 2}
3. 去重功能
集合天生就去重,因为它不允许重复元素。这是处理数据时的一个实用特性。
示例:使用集合快速去重列表
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_set = set(my_list) # 转换为集合去重
print(unique_set) # 输出:{1, 2, 3, 4, 5}
# 如果需要再转回列表
unique_list = list(unique_set)
print(unique_list) # 输出:[1, 2, 3, 4, 5](顺序可能不同)
注意:集合无序,如果顺序重要,去重后可能需要额外处理排序。
总结
- 集合是Python中高效处理不重复数据的工具。
- 创建集合使用大括号
{}或set()函数。 - 运算包括交集(&)、并集(|)、差集(-),对应方法如
intersection、union、difference。 - 去重是集合的天然优势,适合简化数据处理任务。
实践这些例子,你就能快速上手Python集合,提升编码效率!
开发工具推荐