Python 列表去重的 3 种最常用方法-零基础也能秒懂

Python 列表去重的 3 种最常用方法-零基础也能秒懂

本文由编程狮(w3cschool.cn)原创,专为零基础小白设计,跟着敲 3 分钟就能学会!

一、为什么要给列表去重?

在真实项目开发中,我们经常遇到 重复数据:

从 Excel 导入的用户名单有重名

爬虫抓取的热门文章标题出现重复

用户点击日志里同一按钮被记录了多次

如果不及时去重,不仅浪费内存,还会导致统计结果失真。今天编程狮就带你用 最接地气 的方式,学会 Python 列表去重。

二、方法 1:一行代码搞定(推荐新手)

核心思路

利用 字典 key 唯一 的特性,把列表元素当 key,重复值自动被过滤。

代码示例(来自编程狮在线编辑器)

城市列表 = ["北京", "上海", "北京", "广州", "上海"]

去重后 = list(dict.fromkeys(城市列表))

print("去重结果:", 去重后) # 输出:['北京', '上海', '广州']

在编程狮(w3cschool.cn)Python3在线环境里直接复制粘贴即可运行,无需安装任何软件!

优点

代码最短,适合小白

保留原始顺序(Python 3.7+ 字典有序)

三、方法 2:使用 set()(适合不要求顺序的场景)

代码示例

城市列表 = ["北京", "上海", "北京", "广州", "上海"]

去重后 = list(set(城市列表))

print("去重结果:", 去重后) # 顺序可能变化,如['上海', '北京', '广州']

注意

set() 会打乱原顺序,如果你不关心顺序,用它最省事。

四、方法 3:写个函数,复用更方便(进阶)

把方法 1 封装成函数,以后任何列表都能一键去重。

代码示例(W3Cschool 标准模板)

def 列表去重(任意列表):

"""编程狮推荐:通用去重函数"""

return list(dict.fromkeys(任意列表))

# 测试

水果 = ["苹果", "香蕉", "苹果", "橙子"]

print(列表去重(水果)) # ['苹果', '香蕉', '橙子']

五、3 分钟实战:去除用户积分排行榜重复昵称

假设你从数据库查到如下数据:

积分榜 = ["小明", "小红", "小刚", "小明", "小红"]

跟着编程狮敲 3 行代码:

积分榜 = ["小明", "小红", "小刚", "小明", "小红"]

唯一榜单 = list(dict.fromkeys(积分榜))

print("排行榜去重后:", 唯一榜单)

# 输出:['小明', '小红', '小刚']

把结果直接回写到数据库,再也不怕重复统计啦!

六、常见疑问 FAQ

问题

编程狮解答

会不会改变原列表?

不会,三种方法都返回新列表,原列表安全。

字典法为什么能保留顺序?

Python 3.7 起字典有序,dict.fromkeys() 会按第一次出现的顺序记录。

性能哪个最好?

数据量 <10 万时三者差异不大;超大数据推荐 pandas.drop_duplicates(),我们下期再讲。

七、小结

方法

是否保留顺序

代码长度

推荐指数

dict.fromkeys()

1 行

⭐⭐⭐⭐⭐

set()

1 行

⭐⭐⭐

自定义函数

3 行

⭐⭐⭐⭐

零基础同学先掌握 方法 1,工作中 90% 场景够用!

八、在线练习

访问 Python3 入门课程 边学边练!

访问 W3Cschool 在线 Python3 编译器 直接练习。

利用 W3Cschool 在线免费去重工具校验去重结果。

💡 关键要点

本文由编程狮(w3cschool.cn)原创,专为零基础小白设计,跟着敲 3 分钟就能学会! 一、为什么要给列表去重? 在真实项目开发中,我们经常遇

更多疯狂内容

提示信息

提示信息

🔥 181 📅 01-02
ADP China怎么样?

ADP China怎么样?

🔥 201 📅 08-11
冒险岛 超级属性加点图文攻略