Python:集合(set)

B站影视 港台电影 2025-08-28 00:04 2

摘要:数字、字符串、元组可以作为元素,但列表、字典、集合本身不可作为集合元素。

集合(set)是 Python 中的一种无序、可变、不重复的数据容器。

它常用于去重、成员判断以及数学意义上的集合运算(交集、并集、差集等)。

一、集合的语法与特点

1、无序

集合中的元素没有固定顺序,不能通过索引访问。

2、可变

集合本身可以添加或删除元素。

3、元素唯一

集合自动去重,相同元素只会保留一个。

4、元素必须可哈希

数字、字符串、元组可以作为元素,但列表、字典、集合本身不可作为集合元素。

二、创建集合的方式

1、使用花括号 {}

fruits = {"apple", "banana", "cherry"}nums = {1, 2, 3, 3, 2}print(nums) # {1, 2, 3} 自动去重

注意:{} 默认是空字典,不能用于创建空集合。

empty = {} # 这是字典empty_set = set # 这是空集合

2、使用 构造函数

s1 = set("hello") # 字符串 → 集合(去重)print(s1) # {'h', 'e', 'l', 'o'}s2 = set([1, 2, 2, 3]) # 列表 → 集合print(s2) # {1, 2, 3}

3、使用

squares = {x**2 for x in range(5)}print(squares) # {0, 1, 4, 9, 16}

想了解更多创建方式(如 frozenset、嵌套集合等),请参阅:

三、集合的常用操作

1、成员判断

s = {1, 2, 3}print(2 in s) # Trueprint(5 not in s) # True

2、集合运算

a = {1, 2, 3}b = {3, 4, 5}print(a | b) # 并集 {1, 2, 3, 4, 5}print(a & b) # 交集 {3}print(a - b) # 差集 {1, 2}print(a ^ b) # 对称差 {1, 2, 4, 5}

3、修改集合

s = {1, 2}s.add(3) # 添加单个元素s.update([4, 5]) # 批量添加s.remove(2) # 删除元素,不存在时报错s.discard(10) # 删除元素,不存在也不会报错print(s) # {1, 3, 4, 5}

4、内置函数与方法

s = {5, 2, 9, 1}print(len(s)) # 4,大小print(max(s)) # 9,最大值print(min(s)) # 1,最小值print(sum(s)) # 17,元素求和print(sorted(s)) # [1, 2, 5, 9],返回排序后的列表

想了解更多操作(如 pop、clear、issubset 等),请参阅:

四、集合的典型应用

1、去重

nums = [1, 2, 2, 3, 3, 4]unique = set(nums)print(unique) # {1, 2, 3, 4}

2、快速查找

集合基于哈希表实现,成员判断比列表更快(平均 O(1))。

data = set(range(1000000))print(999999 in data) # True,查找速度快

3、关系测试

a = {1, 2}b = {1, 2, 3}print(a = a) # True,超集

想了解更多进阶技巧(如集合推导式、frozenset、结合 filter/map/zip、模式匹配等),请参阅:

小结

集合是无序、可变、不重复的数据容器。

“点赞有美意,赞赏是鼓励”

来源:浩然教育

相关推荐