Python列表去重的3种最常用方法

作者:

文章目录
  • 在真实项目开发中,我们经常遇到 重复数据: 从 Excel 导入的用户名单有重名 爬虫抓取的热门文章标题出现重复 用户点击日志里同一按钮被记录了多次 如果不及时去重,不仅浪费内存,还会导致统计结果失真。今天小编就带你用 最接地气 的方式,学会 Python 列表去重。
  • 把方法 1 封装成函数,以后任何列表都能一键去重。
  • 假设你从数据库查到如下数据: 积分榜 = [“小明”, “小红”, “小刚”, “小明”, “小红”] 跟着编程狮敲 3 行代码: 积分榜 = [“小明”, “小红”, “小刚”, “小明”, “小红”] 唯一榜单 = list(dict.fromkeys(积分榜)) print(“排行榜去重后:”, 唯一榜单) # 输出:[‘小明’, ‘小红’, ‘小刚’] 把结果直接回写到数据库,再也不怕重复统计啦!
  • 问题 编程狮解答 会不会改变原列表? 不会,三种方法都返回新列表,原列表安全。 字典法为什么能保留顺序? Python 3.7 起字典有序,dict.fromkeys() 会按第一次出现的顺序记录。 性能哪个最好? 数据量 <10 万时三者差异不大;超大数据推荐 pandas.drop_duplicates(),我们下期再讲。
  • 方法 是否保留顺序 代码长度 推荐指数 dict.fromkeys() ✅ 1 行 ⭐⭐⭐⭐⭐ set() ❌ 1 行 ⭐⭐⭐ 自定义函数 ✅ 3 行 ⭐⭐⭐⭐ 零基础同学先掌握 方法 1,工作中 90% 场景够用! 以上就是Python列表去重的3种最常用方法的详细内容,更多关于Python列表去重方法的资料请关注风君子博客其它相关文章! 您可能感兴趣的文章: Python列表去重的9种方法终极指南 从基础到进阶分享3个Python列表高效去重技巧 Python列表去重的六种方法及对比详解 Python列表去重的4种核心方法与实战指南详解 Python对list列表进行去重的几种方法
  • 目录
    • 一、为什么要给列表去重?
    • 二、方法 1:一行代码搞定(推荐新手)
      • 核心思路
      • 代码示例
      • 优点
    • 三、方法 2:使用 set()(适合不要求顺序的场景)
      • 代码示例
      • 注意
    • 四、方法 3:写个函数,复用更方便(进阶)
      • 代码示例(W3Cschool 标准模板)
    • 五、3 分钟实战:去除用户积分排行榜重复昵称
      • 六、常见疑问 FAQ
        • 七、小结

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

          • 从 Excel 导入的用户名单有重名
          • 爬虫抓取的热门文章标题出现重复
          • 用户点击日志里同一按钮被记录了多次

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

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

          城市列表 = ["北京", "上海", "北京", "广州", "上海"]
          去重后 = list(dict.fromkeys(城市列表))
          print("去重结果:", 去重后)   # 输出:['北京', '上海', '广州']

          在Python3在线环境里直接复制粘贴即可运行,无需安装任何软件!

          • 代码最短,适合小白
          • 保留原始顺序(Python 3.7+ 字典有序)

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

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

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

          def 列表去重(任意列表):
              """编程狮推荐:通用去重函数"""
              return list(dict.fromkeys(任意列表))
          
          
          # 测试
          水果 = ["苹果", "香蕉", "苹果", "橙子"]
          print(列表去重(水果))   # ['苹果', '香蕉', '橙子']

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

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

          跟着编程狮敲 3 行代码:

          积分榜 = ["小明", "小红", "小刚", "小明", "小红"]
          唯一榜单 = list(dict.fromkeys(积分榜))
          print("排行榜去重后:", 唯一榜单)
          # 输出:['小明', '小红', '小刚']

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

          问题 编程狮解答
          会不会改变原列表? 不会,三种方法都返回新列表,原列表安全。
          字典法为什么能保留顺序? Python 3.7 起字典有序,dict.fromkeys() 会按第一次出现的顺序记录。
          性能哪个最好? 数据量 <10 万时三者差异不大;超大数据推荐 pandas.drop_duplicates(),我们下期再讲。

          方法 是否保留顺序 代码长度 推荐指数
          dict.fromkeys() 1 行 ⭐⭐⭐⭐⭐
          set() 1 行 ⭐⭐⭐
          自定义函数 3 行 ⭐⭐⭐⭐

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

          以上就是Python列表去重的3种最常用方法的详细内容,更多关于Python列表去重方法的资料请关注风君子博客其它相关文章!

          您可能感兴趣的文章:

          • Python列表去重的9种方法终极指南
          • 从基础到进阶分享3个Python列表高效去重技巧
          • Python列表去重的六种方法及对比详解
          • Python列表去重的4种核心方法与实战指南详解
          • Python对list列表进行去重的几种方法

          站内搜索