zoukankan      html  css  js  c++  java
  • python -- 对list去重并找出列表list中的重复元素

    一、一个列表中可能含有重复元素,使用set()可以实现列表的去重处理,但是无法知道哪些元素是重复的,下面的函数用于找出哪些元素重复了,以及重复的次数。
    代码:
    from collections import Counter #引入Counter
    a = [1, 2, 3, 3, 4, 4]
    b = dict(Counter(a))
    print(b)
    print ([key for key,value in b.items() if value > 1]) #只展示重复元素
    print ({key:value for key,value in b.items() if value > 1}) #展现重复元素和重复次数
    测试:

    二、python list去重方法及效率
    1、循环效率不行,但是此方法保证了列表的顺序性。
    代码:
    li=[1,2,3,4,5,1,2,3]
    new_li=[]
    for i in li:
    if i not in new_li:
    new_li.append(i)
    print(new_li)
    测试:

    2、set去重
    将列表转化为集合再转化为列表,利用集合的自动去重功能。简单快速。
    缺点是:使用set方法无法保证去重后的顺序。

    但是,可以通过列表中索引(index)的方法保证去重后的顺序不变。

    3、利用字典key不重复

  • 相关阅读:
    第十一周上机作业
    第十三周作业 张垚
    第十三周上机 张垚
    十二周作业 张垚
    第十二周上机 张垚
    第十一周作业 张垚
    第十一周上机 张垚
    第十周 上机 张垚
    第九周上机 张垚
    第八周 下 张垚
  • 原文地址:https://www.cnblogs.com/peng1206/p/13856650.html
Copyright © 2011-2022 走看看