当前位置:首页>python>少儿 Python 知识点:自动剔除重复数据的利器 —— 集合(Set)

少儿 Python 知识点:自动剔除重复数据的利器 —— 集合(Set)

  • 2026-10-11 06:34:00
少儿 Python 知识点:自动剔除重复数据的利器 —— 集合(Set)

大家在带娃写代码的时候,有没有遇到过这种尴尬:想收集一堆数据,但里面总是混着各种重复的废话,比如让孩子从一段英文里把出现的单词全部挑出来,结果单是一句“Whatever is worth doing is worth doing well”,里面的 is 和 worth 就重复出现了好几次!

如果用列表去一个个比对删除,代码写得又长又累。

今天给大家分享 Python 里专门用来自动消灭重复项的超级利器——集合(Set)!知识点全是大白话,赶紧带娃搞懂它!

🙅‍♂️ 什么是集合?一个不许“复读”的聚会

用大白话解释,集合(set)就是一个无序、且绝对不允许有重复元素的数据大仓库!

我们之前学过的数据结构,各有各的特色:

  • 列表:穿中括号 [],可以重复,讲究先来后到的顺序。

  • 元组:穿小括号 (),上了锁不能改。

  • 字典:穿大括号 {},靠 暗号:秘密 成对出现。

  • 集合:也穿大括号 {},但它就像是一个去掉了“秘密”、只留下“暗号”的字典!

因为字典的暗号(键)是绝对不能重复的,所以集合也继承了这个霸道属性:进了集合的数据,哪怕你写了十遍一模一样的,它也会自动帮你擦掉九个,永远只保留一个!

🛠️ 怎么建?千万别踩“空大括号”的坑!

创建集合主要有两种玩法:

1. 直接用大括号把数据塞进去:

set1 = {1, 2, 3, 4, 5, 6}print(set1)
2. 把现有的列表直接“强转”成集合:
# 把一个带有重复元素的列表丢进 set() 里面,自动秒变集合set2 = set([1, 2, 3, 4, 5, 6])print(set2)

🚨 重点避坑提醒:很多孩子会下意识觉得,既然集合用大括号 {},那写一个 data = {} 不就得到空集合了吗?错! 在 Python 里,{} 默认是给字典准备的!如果想建一个干干净净的空集合,必须使用内置函数:set1 = set()。

🔍 怎么访问?它没有“门牌号”,必须变身!

这又是集合的一个脾气:它是无序的,所以根本没有索引(下标)的概念! 你不能像列表那样写 set1[0] 去查第一个数,这样写电脑会直接报错。

那想查集合里的数据怎么办?答案是:先把它变回列表!

set1 = {1, 2, 3, 4, 5, 6}# 用 list() 把它转换成列表list1 = list(set1)# 这下就有门牌号啦!想查第几个就查第几个print(list1[0])print(list1[2])
💡 实战大招:一秒搞定“单词去重”!

学完上面的知识,咱们直接看这道非常经典的题目: 把英文句子中的所有单词挑出来放到列表里,要求:每个单词不能重复!

句子:"Whatever is worth doing is worth doing well"

如果不用集合,你需要写循环、做判断,极其繁琐。但如果用集合,一行代码搞定:

str1 = "Whatever is worth doing is worth doing well"# 1. str1.split(" "):按空格切开,变成单词列表# 2. set(...):扔进集合,重复的 is 和 worth 瞬间被消灭!# 3. list(...):再变回列表,方便后续使用word_list = list(set(str1.split(" ")))print(word_list)
你看,原本繁琐的逻辑,利用“列表拆分 ➔ 集合去重 ➔ 转回列表”这套丝滑连招,瞬间就轻松破解了
!

📝 知识点快速总结

  1. 集合(set):无序、元素永远不重复。

  2. 建空集合:必须用 set(),不能用 {}(那属于字典)。

  3. 访问数据:无序无索引,要先用 list() 转成列表。

  4. 核心绝技:配合 set() 帮任何列表做一秒自动去重!

最新文章

随机文章