濮阳杆衣贸易有限公司

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

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

熱門標(biāo)簽:原裝電話機(jī)器人 千陽自動(dòng)外呼系統(tǒng) 西藏智能外呼系統(tǒng)五星服務(wù) 工廠智能電話機(jī)器人 江蘇客服外呼系統(tǒng)廠家 清遠(yuǎn)360地圖標(biāo)注方法 在哪里辦理400電話號(hào)碼 400電話申請(qǐng)服務(wù)商選什么 平頂山外呼系統(tǒng)免費(fèi)

背景

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)文章!

您可能感興趣的文章:
  • python按照list中字典的某key去重的示例代碼
  • python去重,一個(gè)由dict組成的list的去重示例
  • python列表list保留順序去重的實(shí)例
  • Python對(duì)list列表結(jié)構(gòu)中的值進(jìn)行去重的方法總結(jié)
  • python中對(duì)list去重的多種方法

標(biāo)簽:股票 錦州 西安 白城 安慶 隨州 日照 天水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python list去重且保持原順序不變的方法》,本文關(guān)鍵詞  Python,list,去重,且,保持,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python list去重且保持原順序不變的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python list去重且保持原順序不變的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    绵阳市| 高安市| 西城区| 隆化县| 固原市| 新营市| 修文县| 庆城县| 上栗县| 沧源| 安庆市| 新巴尔虎左旗| 浦东新区| 理塘县| 陵水| 大关县| 奉新县| 镇沅| 房产| 平昌县| 托克逊县| 兴隆县| 龙岩市| 从化市| 广宁县| 射阳县| 上栗县| 丹阳市| 油尖旺区| 正宁县| 林芝县| 施甸县| 句容市| 留坝县| 永州市| 灵石县| 连平县| 贺兰县| 鞍山市| 韩城市| 张家口市|