当前位置:首页>python>Python基础学习手册第12章:集合(set)通关,增删改查,交,差,并集,去重操作,案例实战

Python基础学习手册第12章:集合(set)通关,增删改查,交,差,并集,去重操作,案例实战

  • 2026-09-02 19:09:10
Python基础学习手册第12章:集合(set)通关,增删改查,交,差,并集,去重操作,案例实战
今天,我们了解最后一个需要我们去学习的数据——集合set
集合最大的特点就是:无序、不重复,专门用来做数据去重、交集、并集、差集等逻辑运算,是刷题、数据处理的强大助力
这也是整个小学阶段,集合考察最多的地方哦
接下来
👓看看我们本期的学习内容有哪些

📚 本期知识点目录

✅ 集合是什么
✅ 集合的创建
✅ 集合增删查
✅ 集合遍历
✅ 集合进阶
✅ 不可变集合(frozenset)
✅ 集合高级运算
✅ 综合练习题
✍️集合是什么?

集合(set)是 Python 里一种无序、不重复的元素集合。

集合3大特性:

1.无序:没有顺序,不能用索引访问
2.不重复:自动去重,相同元素只会保留一个
  1. 3.可存储多个元素:数字、字符串、布尔等(不能存列表)

总结:

列表是有序可重复,元组是有序不可变,集合是无序不重复!

✍️集合的创建

1. 创建空集合

⚠️ 注意:不能用 {},{} 创建出来的是字典!

🖥️代码练习

# 创建空集合s = set()print(s)         # 输出:set()print(type(s))   # 输出:<class 'set'>
2. 创建普通集合

🖥️代码练习

# 直接用大括号s = {1, 2, 3, 4}# 用 set() 把列表、元组、字符串转成集合s1 = set([1, 2, 2, 3])s2 = set("hello")print(s1)  #  自动去重:{1,2,3}print(s2)  # 无序:{'h','e','l','o'}
⚠️注意点:
  • 集合自动去重,重复元素会被合并
  • 集合无序,每次打印顺序可能不一样
  • 集合里不能放列表、字典,会报错
✍️集合:增删查
1. 增加元素 add ()
⚠️ 不能添加列表,会报错!
s = {'red', 'blue', 'yellow'}s.add('pink')print(s)  # 顺序随机,不固定
2. 删除元素(3 种方法)

remove ()

删除指定元素,不存在会报错

s.remove('red')

discard ()

删除指定元素,不存在不报错

s.discard('pink')

pop ()

随机删除一个元素,并返回它

s_new = s.pop()print(s_new)
3.查找元素 in 、not in
s = {'red', 'blue'}print('red' in s)    # Trueprint('green' in s)  # False
💡思考一下,为什么没有改的操作?
✍️集合遍历
集合没有索引,只能用 for 遍历
s = {1, 2, 3, 'hello'}for i in s:    print(i)
✍️集合进阶

排序 sorted ()

集合无序,可用 sorted () 排成列表

s = {3,1,4,1,5}print(sorted(s))      # [1,3,4,5]print(sorted(s, reverse=True)) # 倒序

去重方法(常用)

列表 → 集合 → 列表,1行完成去重

lst = [1,2,2,3,3,3]new_lst = list(set(lst))print(new_lst)  # [1,2,3]
统计元素个数 len ()
s = {1,2,3,4}print(len(s))  # 4

不可变集合 frozenset

不允许增删改

fs = frozenset([1,2,3])
集合高级运算

子集 <

s2 所有元素都在 s1 里

s1 = {1,2,3,4}s2 = {1,2}print(s2 < s1)  # True

超集 >=

s1 包含 s2 所有元素

print(s1 >= s2)  # True
💡超级和子集的判断主要看的就是包含关系
并集 | (全都要)
s1 = {1,2}s2 = {3,4}print(s1 | s2)  # {1,2,3,4}
交集 & (共同都有的)
s1 = {1,2,3}s2 = {2,3,4}print(s1 & s2)  # {2,3}
差集 - (我有你没有的)
print(s1 - s2)  # {1}
✍️还可以尝试  用  s2-s1,看看结果如何?
对称差集 ^ (只在一边,不同时在两边)
print(s1 ^ s2)  # {1,4} 
📚符号汇总
运算
符号
含义
子集
<
全部包含在里面
超集
>=
包含对方全部
并集
合并所有
交集
&
共同部分
差集
-
我有你没有
对称差
^
只在一边

⚠️ 避坑点

  1. 1.空集合必须用 set (),不能用 {}
  2. 2.集合无序,不能用索引 s[0]
  3. 3.集合自动去重,是最快去重方法
  4. 4.集合不能添加列表、字典
  5. 5.remove () 删不存在元素会报错,用 discard () 更安全
  6. 6.集合运算用 | & - ^,不能用 +
OK,那么今天的集合到这里就学习结束了✌️
你们学会了吗❓️
✍️要好好练习,多写才能熟能生巧吖
文章底部有课后练习题⬇️
如果觉得有用的话,点个赞👍,转发给身边的朋友👬,你们的认可是我的动力,只有更多的兴趣相同的人看见,才会碰撞出不同的思维火花🔥
有任何问题欢迎评论留言
🖥️实战练习
✍️题目:

输入两行数字(逗号分隔),转成集合后依次输出:

  1. 并集
  2. 交集
  3. 差集(第1个 - 第2个)
  4. 输入示例:
1,2,2,32,3,4
输出示例:
{1,2,3,4}{2,3}{1}
往期文章点这里⬇️:
Python基础学习手册第11章:元组(tuple),不可变的数据类型教程学习
Python基础学习手册第10章:字典(dict)的数据类型增、删、改、查,遍历、嵌套等方法一文详解
Python基础学习手册第9章:列表 (List) 保姆级教程,增、删、改、查 和 排序等操作 ,实战一篇全搞定
Python基础学习手册第8章:搭配字符串的常用函数学习,三个案例了解:判断年月、敏感词打码以及何为自守数
Python基础学习手册第7章:字符串的索引 、 切片 等常用方法的学习掌握

最新文章

随机文章