最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

背景

python 去重一頓操作猛如虎,set list 扒拉下去,就去重了,但是順序就打亂了。如果對(duì)順序沒有需要的話,這樣確實(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去重的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python Dijkstra算法實(shí)現(xiàn)最短路徑問題的方法

    python Dijkstra算法實(shí)現(xiàn)最短路徑問題的方法

    這篇文章主要介紹了python Dijkstra算法實(shí)現(xiàn)最短路徑問題的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Python解決IndexError: list index out of range問題的三種方法

    Python解決IndexError: list index out of&nb

    IndexError是一種常見的異常類型,它通常發(fā)生在嘗試訪問列表(list)中不存在的索引時(shí),錯(cuò)誤信息“IndexError: list index out of range”意味著你試圖訪問的列表索引超出了列表的實(shí)際范圍,所以本文給大家介紹了Python成功解決IndexError: list index out of range
    2024-05-05
  • Python+wxPython實(shí)現(xiàn)文件名批量處理

    Python+wxPython實(shí)現(xiàn)文件名批量處理

    在日常的文件管理中,我們經(jīng)常需要對(duì)文件進(jìn)行批量處理以符合特定的命名規(guī)則或需求,本文主要介紹了如何使用wxPython進(jìn)行文件夾中文件名的批量處理,需要的可以參考下
    2024-04-04
  • 解決Python中定時(shí)任務(wù)線程無法自動(dòng)退出的問題

    解決Python中定時(shí)任務(wù)線程無法自動(dòng)退出的問題

    今天小編就為大家分享一篇解決Python中定時(shí)任務(wù)線程無法自動(dòng)退出的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • pytorch打印網(wǎng)絡(luò)結(jié)構(gòu)的實(shí)例

    pytorch打印網(wǎng)絡(luò)結(jié)構(gòu)的實(shí)例

    今天小編就為大家分享一篇pytorch打印網(wǎng)絡(luò)結(jié)構(gòu)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python根據(jù)區(qū)號(hào)生成手機(jī)號(hào)碼的方法

    Python根據(jù)區(qū)號(hào)生成手機(jī)號(hào)碼的方法

    這篇文章主要介紹了Python根據(jù)區(qū)號(hào)生成手機(jī)號(hào)碼的方法,涉及Python隨機(jī)數(shù)與字符串的相關(guān)操作技巧,需要的朋友可以參考下
    2015-07-07
  • Python字節(jié)碼與程序執(zhí)行過程詳解

    Python字節(jié)碼與程序執(zhí)行過程詳解

    這篇文章主要為大家介紹了Python字節(jié)碼與程序執(zhí)行過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • python簡(jiǎn)單利用字典破解zip文件口令

    python簡(jiǎn)單利用字典破解zip文件口令

    這篇文章主要給大家介紹了關(guān)于python簡(jiǎn)單利用字典破解zip文件口令的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Pytorch?Conda環(huán)境pack打包遷移報(bào)錯(cuò)的處理方案

    Pytorch?Conda環(huán)境pack打包遷移報(bào)錯(cuò)的處理方案

    這篇文章主要介紹了Pytorch?Conda環(huán)境pack打包遷移報(bào)錯(cuò)的處理方案,文中通過代碼示例和圖文結(jié)合的方式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-07-07
  • Python中圖像算術(shù)運(yùn)算的示例詳解

    Python中圖像算術(shù)運(yùn)算的示例詳解

    還記得你在小學(xué)時(shí)學(xué)習(xí)如何加減數(shù)字嗎?現(xiàn)在,你也可以對(duì)圖像做同樣的事情!輸入圖像可以進(jìn)行算術(shù)運(yùn)算,例如加法、減法和按位運(yùn)算(AND、OR、NOT、XOR)。這些操作可以幫助提高輸入照片的質(zhì)量。本文將詳解一下這些運(yùn)算,需要的可以參考一下
    2022-05-05

最新評(píng)論

锡林浩特市| 徐水县| 调兵山市| 舒城县| 齐河县| 淮滨县| 来宾市| 隆林| 金秀| 乐亭县| 台南县| 吉水县| 广德县| 大城县| 庄浪县| 瑞昌市| 贵溪市| 淳安县| 土默特右旗| 理塘县| 新安县| 胶州市| 夏津县| 舒兰市| 石嘴山市| 贺兰县| 碌曲县| 淅川县| 军事| 杭州市| 鲁甸县| 于田县| 富平县| 张家港市| 萨迦县| 呼伦贝尔市| 岑溪市| 扶绥县| 长沙县| 三门峡市| 新源县|