python 列表去重(數組)的幾種方法

1、方法1app

 代碼以下 複製代碼

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函數

思路看起來比較清晰簡單 ,也能夠保持以前的排列順序。spa

2、方法2ci

經過set方法進行處理it

 代碼以下 複製代碼

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

處理起來比較簡單,使用了集合方法set進行處理,不過結果不會保留以前的順序。class

3、方法3import

利用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、方法4lambda

使用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

5、沒法保持原有順序

 代碼以下 複製代碼

liebiao=set(liebiao)

6、while遍歷去重

 代碼以下 複製代碼

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

相關文章
相關標籤/搜索