婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python list去重且保持原順序不變的方法

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

熱門標簽:原裝電話機器人 千陽自動外呼系統 西藏智能外呼系統五星服務 工廠智能電話機器人 江蘇客服外呼系統廠家 清遠360地圖標注方法 在哪里辦理400電話號碼 400電話申請服務商選什么 平頂山外呼系統免費

背景

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

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)

寫循環代碼實現

# 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 循環代碼實現

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 # 等價于 [[], L],方便后面計算

總結

如果糾結空間復雜度的,用 python 干啥?
先談能不能完成,再談優化吧。

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

您可能感興趣的文章:
  • python按照list中字典的某key去重的示例代碼
  • python去重,一個由dict組成的list的去重示例
  • python列表list保留順序去重的實例
  • Python對list列表結構中的值進行去重的方法總結
  • python中對list去重的多種方法

標簽:股票 錦州 西安 白城 安慶 隨州 日照 天水

巨人網絡通訊聲明:本文標題《Python list去重且保持原順序不變的方法》,本文關鍵詞  Python,list,去重,且,保持,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python list去重且保持原順序不變的方法》相關的同類信息!
  • 本頁收集關于Python list去重且保持原順序不變的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 邢台市| 嘉黎县| 麻栗坡县| 尼玛县| 永德县| 兴山县| 鹤山市| 榆中县| 宜兴市| 长武县| 汕头市| 木里| 孝感市| 南安市| 东乌珠穆沁旗| 金堂县| 油尖旺区| 宜君县| 沙雅县| 满洲里市| 濉溪县| 张家界市| 永嘉县| 宁波市| 海淀区| 泽州县| 清水河县| 大同市| 鄂伦春自治旗| 浪卡子县| 防城港市| 阳朔县| 凤台县| 中方县| 辛集市| 阿鲁科尔沁旗| 普定县| 比如县| 义马市| 会宁县| 炎陵县|