Python 教程

7.3 集合(set):创建、运算(交集、并集、差集)与去重

Python集合教程:从创建到运算,轻松掌握去重技巧

Python 教程

本教程为Python初学者详细讲解集合(set)的基础知识,包括如何创建集合、进行交集、并集、差集运算,以及利用集合高效去重的实用技巧,帮助新手快速入门。

推荐工具
PyCharm专业版开发必备

功能强大的Python IDE,提供智能代码补全、代码分析、调试和测试工具,提高Python开发效率。特别适合处理列表等数据结构的开发工作。

了解更多

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() 函数。
  • 运算包括交集(&)、并集(|)、差集(-),对应方法如 intersectionuniondifference
  • 去重是集合的天然优势,适合简化数据处理任务。

实践这些例子,你就能快速上手Python集合,提升编码效率!

开发工具推荐
Python开发者工具包

包含虚拟环境管理、代码格式化、依赖管理、测试框架等Python开发全流程工具,提高开发效率。特别适合处理复杂数据结构和算法。

获取工具包