欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python list去重且保持原順序不變的方法

 更新時(shí)間:2021年04月02日 16:59:35   作者:RaXianch  
這篇文章主要介紹了Python list去重且保持原順序不變的方法,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下

背景

python 去重一頓操作猛如虎,set list 扒拉下去,就去重了,但是順序就打亂了。如果對順序沒有需要的話,這樣確實(shí)沒有什么所謂。
但是如果需要保留順序的話,就需要一點(diǎn)小小的改變。

code && demo

list 去重,順序亂掉

# normal 寫法
l1 = ['b','c','d','b','c','a','a']
l2 = list(set(l1))
print(l2)

# plus 寫法
l1 = ['b','c','d','b','c','a','a']
l2 = {}.fromkeys(l1).keys()


去重后還是原 list 順序

# normal 寫法
l1 = ['b','c','d','b','c','a','a']
l2 = list(set(l1))
l2.sort(key=l1.index)

# plus 寫法
l1 = ['b','c','d','b','c','a','a']
l2 = sorted(set(l1),key=l1.index)

寫循環(huán)代碼實(shí)現(xiàn)

# normal 寫法
l1 = ['b','c','d','b','c','a','a']
l2 = []
for i in l1:
  if not i in l2:
    l2.append(i)
    
# plus 寫法

l1 = ['b','c','d','b','c','a','a']
l2 = []
[l2.append(i) for i in l1 if not i in l2]

寫 while 循環(huán)代碼實(shí)現(xiàn)

L = [3, 1, 2, 1, 3, 4]
T = L[:]
for i in L:
  while T.count(i) > 1:
    del T[T.index(i)]
T.sort(key=L.index)

lambda 寫法

備注:

  • ambda L,i: L if i in L else L + [i]    # 如果元素在列表中,那么返回列表本身,不在的話 L + [i]
  • [[],] + L # 等價(jià)于 [[], L],方便后面計(jì)算

總結(jié)

如果糾結(jié)空間復(fù)雜度的,用 python 干啥?
先談能不能完成,再談優(yōu)化吧。

以上就是Python list去重且保持原順序不變的方法的詳細(xì)內(nèi)容,更多關(guān)于Python list去重的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用Python獲取當(dāng)前工作目錄和執(zhí)行命令的位置

    使用Python獲取當(dāng)前工作目錄和執(zhí)行命令的位置

    這篇文章主要介紹了使用Python獲取當(dāng)前工作目錄和執(zhí)行命令的位置,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • python繪制分組條形圖的示例代碼

    python繪制分組條形圖的示例代碼

    本文主要介紹了如何使用python繪制分組條形圖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Python利用pptx操作PPT實(shí)現(xiàn)幻燈片的刪除與替換

    Python利用pptx操作PPT實(shí)現(xiàn)幻燈片的刪除與替換

    這篇文章主要為大家詳細(xì)介紹了python如何使用pptx庫實(shí)現(xiàn)操作PPTx幻燈片文件刪除并替換圖片,文中的示例代碼講解詳細(xì),感興趣的可以嘗試一下
    2023-02-02
  • 一篇文章帶你了解python元組基礎(chǔ)

    一篇文章帶你了解python元組基礎(chǔ)

    今天小編就為大家分享一篇關(guān)于Python中的元組介紹,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2021-08-08
  • Python Socketserver實(shí)現(xiàn)FTP文件上傳下載代碼實(shí)例

    Python Socketserver實(shí)現(xiàn)FTP文件上傳下載代碼實(shí)例

    這篇文章主要介紹了Python Socketserver實(shí)現(xiàn)FTP文件上傳下載代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python時(shí)間戳與日期格式之間相互轉(zhuǎn)化的詳細(xì)教程

    Python時(shí)間戳與日期格式之間相互轉(zhuǎn)化的詳細(xì)教程

    java默認(rèn)精度是毫秒級別的,生成的時(shí)間戳是13位,而python默認(rèn)是10位的,精度是秒,下面這篇文章主要給大家介紹了關(guān)于Python時(shí)間戳與日期格式之間相互轉(zhuǎn)化的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • Python如何利用opencv實(shí)現(xiàn)手勢識別

    Python如何利用opencv實(shí)現(xiàn)手勢識別

    這篇文章主要介紹了Python如何利用opencv實(shí)現(xiàn)手勢識別,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙可以參考一下
    2022-05-05
  • 一起用Python做個(gè)上課點(diǎn)名器的制作過程

    一起用Python做個(gè)上課點(diǎn)名器的制作過程

    今天給大家分享一個(gè)讀者粉絲投稿的,關(guān)于上課點(diǎn)名的實(shí)戰(zhàn)案例,對Python上課點(diǎn)名器實(shí)現(xiàn)過程感興趣的朋友,一起來看看是如何實(shí)現(xiàn)的吧
    2021-09-09
  • Python?pandas中read_csv參數(shù)示例詳解

    Python?pandas中read_csv參數(shù)示例詳解

    使用pandas做數(shù)據(jù)處理的第一步就是讀取數(shù)據(jù),數(shù)據(jù)源可以來自于各種地方,csv文件便是其中之一,下面這篇文章主要給大家介紹了關(guān)于Python?pandas中read_csv參數(shù)詳解的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Python利用Matplotlib庫實(shí)現(xiàn)繪制餅形圖

    Python利用Matplotlib庫實(shí)現(xiàn)繪制餅形圖

    這篇文章主要為大家分享了基于python+matplotlib庫的餅形圖繪制,具體內(nèi)容涉及一般的餅圖、分裂餅圖、以及環(huán)形圖,感興趣的小伙伴可以了解一下
    2022-04-04

最新評論