zoukankan      html  css  js  c++  java
  • python列表去重

    一、方法1

     代码如下  

    ids = [1,2,3,3,4,2,3,4,5,6,1]
    news_ids = []
    for id in ids:
        if id not in news_ids:
            news_ids.append(id)
    print news_ids

    思路看起来比较清晰简单 ,也可以保持之前的排列顺序。

    二、方法2

    通过set方法进行处理

     代码如下  

    ids = [1,4,3,3,4,2,3,4,5,6,1]
    ids = list(set(ids))

    处理起来比较简单,使用了集合方法set进行处理,不过结果不会保留之前的顺序。

    三、方法3

    利用lambda匿名函数和 reduce 函数处理

     代码如下  
    ids = [1,4,3,3,4,2,3,4,5,6,1]
    func = lambda x,y:x if y in x else x + [y]
    reduce(func, [[], ] + ids)

    四、方法4

    使用itertools模块

     代码如下  

    import itertools
    ids = [1,4,3,3,4,2,3,4,5,6,1]
    ids.sort()
    it = itertools.groupby(ids)
    for k, g in it:
        print k

    五、无法保持原有顺序

     代码如下  

    liebiao=set(liebiao)

    六、while遍历去重

     代码如下  

    def delRepeat(liebiao):
     for x in liebiao:
      while liebiao.count(x)>1:
       del liebiao[liebiao.index(x)]
     return liebiao

     
  • 相关阅读:
    POJ 3253 Fence Repair
    POJ 2431 Expedition
    NYOJ 269 VF
    NYOJ 456 邮票分你一半
    划分数问题 DP
    HDU 1253 胜利大逃亡
    NYOJ 294 Bot Trust
    NYOJ 36 最长公共子序列
    HDU 1555 How many days?
    01背包 (大数据)
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/10410706.html
Copyright © 2011-2022 走看看