国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Python列表去重

2019-11-14 17:39:09
字體:
供稿:網(wǎng)友

無聊統(tǒng)計了下列表去重到底有多少種方法。

1.集合

list(set(alist))

如果要保持順序:

import randomif __name__=='__main__':    a=[random.randint(0,10) for i in xrange(10)]    b=list(set(a))    b.sort(key=a.index)

2.字典

大都是利用哈希表特性

{}.fromkeys(alist).keys()

或者手動寫:

import randomif __name__=='__main__':    a=[random.randint(0,10) for i in xrange(10)]    d={}    for i in a:        d[i]=1    PRint d.keys()

3.排序后查重

import randomif __name__=='__main__':    a=[random.randint(0,10) for i in xrange(10)]    a.sort()    print [x for i,x in enumerate(a) if not i or x!=a[i-1]]

4.itertools.groupby

import randomimport itertoolsif __name__=='__main__':    a=[random.randint(0,10) for i in xrange(10)]    a.sort()    print [x[0] for x in itertools.groupby(a)]

5.遍歷

import randomif __name__=='__main__':    a=[random.randint(0,10) for i in xrange(10)]    b=[]     for i in a:        if i not in b:            b.append(i)

或者用reduce:

import randomimport functoolsif __name__=='__main__':    a=[random.randint(0,10) for i in xrange(10)]    functools.reduce(lambda x,y:x if y in x else x+[y],[[],]+a)

還有其它方法沒?

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 万宁市| 东兰县| 镇江市| 漳平市| 新沂市| 阿拉尔市| 定襄县| 织金县| 龙山县| 秦皇岛市| 武川县| 栾川县| 凤冈县| 南陵县| 昆明市| 溆浦县| 丰城市| 兴隆县| 仁怀市| 藁城市| 河源市| 深水埗区| 临颍县| 吉木乃县| 洛阳市| 深圳市| 康马县| 比如县| 阳曲县| 巴马| 盐边县| 铅山县| 布尔津县| 保山市| 珲春市| 承德市| 伊金霍洛旗| 易门县| 宁陕县| 易门县| 万宁市|