Python列表去重的3种最常用方法
一、为什么要给列表去重?
在真实项目开发中,我们经常遇到 重复数据:
- 从 Excel 导入的用户名单有重名
- 爬虫抓取的热门文章标题出现重复
- 用户点击日志里同一按钮被记录了多次
如果不及时去重,不仅浪费内存,还会导致统计结果失真。今天小编就带你用 最接地气 的方式,学会 Python 列表去重。
二、方法 1:一行代码搞定(推荐新手)
核心思路
利用 字典 key 唯一 的特性,把列表元素当 key,重复值自动被过滤。
代码示例
|
1 2 3 |
|
在Python3在线环境里直接复制粘贴即可运行,无需安装任何软件!
优点
- 代码最短,适合小白
- 保留原始顺序(Python 3.7+ 字典有序)
三、方法 2:使用 set()(适合不要求顺序的场景)
代码示例
|
1 2 3 |
|
注意
set() 会打乱原顺序,如果你不关心顺序,用它最省事。
四、方法 3:写个函数,复用更方便(进阶)
把方法 1 封装成函数,以后任何列表都能一键去重。
代码示例(W3Cschool 标准模板)
|
1 2 3 4 5 6 7 8 |
|
五、3 分钟实战:去除用户积分排行榜重复昵称
假设你从数据库查到如下数据:
|
1 |
|
跟着编程狮敲 3 行代码:
|
1 2 3 4 |
|
把结果直接回写到数据库,再也不怕重复统计啦!
六、常见疑问 FAQ
| 问题 | 编程狮解答 |
|---|---|
| 会不会改变原列表? | 不会,三种方法都返回新列表,原列表安全。 |
| 字典法为什么能保留顺序? | Python 3.7 起字典有序,dict.fromkeys() 会按第一次出现的顺序记录。 |
| 性能哪个最好? | 数据量 <10 万时三者差异不大;超大数据推荐 pandas.drop_duplicates(),我们下期再讲。 |
七、小结
| 方法 | 是否保留顺序 | 代码长度 | 推荐指数 |
|---|---|---|---|
| dict.fromkeys() | ✅ | 1 行 | ⭐⭐⭐⭐⭐ |
| set() | ❌ | 1 行 | ⭐⭐⭐ |
| 自定义函数 | ✅ | 3 行 | ⭐⭐⭐⭐ |
零基础同学先掌握 方法 1,工作中 90% 场景够用!
更多推荐



所有评论(0)