Python中的集合(set)

在Python中,集合(set)是一个无序的、不重复的元素序列,它的主要作用是进行成员关系测试和消除重复元素,集合对象还支持像并集、交集、差集和对称差等数学运算,本文将详细介绍Python中集合的基本概念、创建方法、常用操作以及一些实际应用。

1、集合的基本概念

集合是由一组唯一的、无序的元素组成的,集合中的元素必须是可哈希的,这意味着它们必须是不可变的,如数字、字符串、元组等,集合本身也是可哈希的,因此可以作为字典的键或列表的元素。

2、创建集合

创建集合的方法有以下几种:

- 使用大括号 {} 或者 set() 函数创建一个空集合;

- 使用一对大括号 {} 包裹一组元素创建一个集合;

- 使用 set() 函数将一个列表、元组或其他可迭代对象转换为集合。

示例代码:

创建空集合
empty_set = set()
print(type(empty_set))  # <class 'set'>
创建包含元素的集合
my_set = {1, 2, 3}
print(type(my_set))  # <class 'set'>
将列表转换为集合
my_list = [1, 2, 3, 2, 1]
my_set = set(my_list)
print(type(my_set))  # <class 'set'>

3、常用操作

Python中的集合支持以下常用操作:

- 添加元素:使用 add() 方法向集合中添加一个元素;

pythonset pythonset函数

- 删除元素:使用 remove() 方法从集合中删除一个元素;

- 判断元素是否在集合中:使用 in 关键字;

- 求两个集合的交集:使用 intersection() 方法;

- 求两个集合的并集:使用 union() 方法;

- 求两个集合的差集:使用 difference() 方法;

- 求两个集合的对称差集:使用 symmetric_difference() 方法。

示例代码:

添加元素
my_set.add(4)
print(my_set)  # {1, 2, 3, 4}
删除元素
my_set.remove(2)
print(my_set)  # {1, 3, 4}
判断元素是否在集合中
print(1 in my_set)  # True
print(5 in my_set)  # False
求交集、并集、差集和对称差集
other_set = {3, 4, 5}
print(my_set.intersection(other_set))  # {3, 4}
print(my_set.union(other_set))       # {1, 3, 4, 5}
print(my_set.difference(other_set))   # {1}
print(my_set.symmetric_difference(other_set))  # {1, 5}

4、实际应用

集合在实际应用中有很多用途,

- 去重:可以使用集合去除列表或元组中的重复元素;

- 成员关系测试:可以使用集合快速判断一个元素是否在一个集合中;

- 数学运算:可以使用集合进行交集、并集、差集和对称差等数学运算。