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