【问题标题】:How to remove all repeating elements from a list in python?如何从python中的列表中删除所有重复元素?
【发布时间】:2020-12-11 16:49:27
【问题描述】:

我有一个这样的列表:-

[1,2,3,4,3,5,3,6,7,8]

我想从列表中完全删除重复元素(此处:- 3),如下所示:-

[1,2,4,5,6,7,8]

如何在 python 中实现这一点,以便不仅删除第一次出现的重复元素,而且删除所有重复值

【问题讨论】:

    标签: python list element


    【解决方案1】:

    您可以使用collections 中的Counter 来计算出现次数,并使用列表推导选择那些恰好出现一次的元素:

    from collections import Counter
    a = [1,2,3,4,3,5,3,6,7,8]
    [k for k, v in Counter(a).items() if v == 1]
    

    Counter 基本上返回一个字典,其中元素存储为键,其计数存储为值。)

    【讨论】:

      【解决方案2】:

      这段代码应该可以工作

      #Finding duplicate
      def dup(x):
          s = len(x)
          duplicate = []
          for i in range(s):
              k = i + 1
              for j in range(k, s):
                  if x[i] == x[j] and x[i] not in duplicate:
                      duplicate.append(x[i])
          return duplicate
      
      #begining
      list1 = [1, 2, 3, 4, 3, 5, 3, 6, 7, 8]
      #Finding duplicate
      dup_list = (dup(list1))
      #removing duplicates from the list
      final_list = list(set(list1) - set(dup_list))
      print(final_list)
      

      【讨论】:

        【解决方案3】:

        使用一组。要摆脱所有重复值,请使用:

        a = [1,2,3,4,3,5,3,6,7,8]
        print(a)
        a = list(set(a))
        print(a)
        

        那会输出

        [1,2,3,4,3,5,3,6,7,8]
        [1,2,4,5,6,7,8]
        

        Google 上有很多内容,所以你可以直接查一下(这就是你投反对票的原因)

        【讨论】:

        • 不,这保留了 3.
        • 设置列表将给出唯一值。 OP 希望完全删除重复的条目。
        • 哦,我看错了。我以为你希望所有重复项都消失
        • 拒绝因为 Google 几乎没有道理,甚至因为 Stackoverflow 上的重复而拒绝投票也不是很好的行为 - 关闭为重复是正确的方法。另外,您的代码不正确并且没有输出您声称的内容 - 我得到 [1, 2, 3, 4, 5, 6, 7, 8] 这与 set 行为一致。 -1
        【解决方案4】:

        一个好的和有效的方法是使用 pandas

        import pandas as pd
        sample_list = [1,2,3,4,3,5,3,6,7,8]
        unique_list = list(pd.Series(sample_list).drop_duplicates())
        
        >> unique_list    
        >> [1, 2, 3, 4, 5, 6, 7, 8]
        

        【讨论】:

          猜你喜欢
          • 2021-06-16
          • 1970-01-01
          • 1970-01-01
          • 2021-10-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多