Python列表去重技巧

Python列表去重在Python應(yīng)用編程中,是一種非常常見的應(yīng)用技巧,本文將介紹三種常用的Python列表去重方法。

方法一:通過字典進(jìn)行去重
格式:{}.formkeys(mylist).keys()
實例:

[1]: l1 = ['b','c','d','b','c','a','a']

In [2]: l2 = {}.fromkeys(l1).keys()

In [3]: l2
Out[3]: dict_keys(['b', 'c', 'a', 'd'])

In [4]: list(l2)
Out[4]: ['b', 'c', 'a', 'd']

方法二:通過集合進(jìn)行去重
格式:list(set(mylist))
實例:

In [11]: l1
Out[11]: ['b', 'c', 'd', 'b', 'c', 'a', 'a']

In [12]: print(list(set(l1)))
['b', 'c', 'a', 'd']

由于采用集合,會導(dǎo)致原有的列表排序發(fā)生變化,此時可通過如下方法,保持列表原有順序

In [14]: l1
Out[14]: ['b', 'c', 'd', 'b', 'c', 'a', 'a']

In [15]: l2 = list(set(l1))

In [16]: l2.sort(key=l1.index)

In [17]: l2
Out[17]: ['b', 'c', 'd', 'a']

方法三:通過列表推導(dǎo)式去重

In [18]: l1
Out[18]: ['b', 'c', 'd', 'b', 'c', 'a', 'a']

In [19]: l2 = [ ]

In [20]: [l2.append(i) for i in l1 if not i in l2 ]
Out[20]: [None, None, None, None]

In [21]: l2
Out[21]: ['b', 'c', 'd', 'a']
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,291評論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,680評論 19 139
  • 最近霧霾又開始嚴(yán)重起來。 今天,從食堂回到教室的路上,一個帶著口罩的高高瘦瘦的小伙子發(fā)給我了一張宣傳單。我接了,對...
    堇色俞閱讀 1,261評論 1 1
  • 今年初夏的一個清晨,陽光穿透密密的樹林灑滿林間的小路,露珠在草尖上熠熠生輝,空氣中浸滿了新鮮的味道,我與簡書也就邂...
    靜若繁花L閱讀 585評論 10 29

友情鏈接更多精彩內(nèi)容