国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 东乌| 怀安县| 聂荣县| 大方县| 木兰县| 寿光市| 丹东市| 滨州市| 灵川县| 合作市| 淮北市| 海南省| 扎鲁特旗| 镇安县| 和平区| 德安县| 南雄市| 遵化市| 怀柔区| 新乐市| 湟源县| 辽阳市| 太康县| 建水县| 门头沟区| 垣曲县| 霸州市| 莱西市| 普安县| 龙游县| 台中县| 淮南市| 阿巴嘎旗| 石台县| 大足县| 休宁县| 岑巩县| 庆元县| 金湖县| 余江县| 十堰市|