淺談python元素如何去重,去重后如何保持原來元素的順序不變
python列表元素去重后如何保持原來的順序不變
原列表:
list1 = [1,2,1,4,9,3,5,2,6,7,3,1,6,8,4,0]
去重,使用集合set來去重:
list2 = list(set(list1)
set去重得到的list2默認(rèn)按升序進(jìn)行排序:
list2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
使list2按照list1元素出現(xiàn)的順序進(jìn)行排序(也就是原來的順序):
list2.sort(key = list1.index)
此時,list2 = [1, 2, 4, 9, 3, 5, 6, 7, 8, 0]
具體的實現(xiàn)過程如下:
補充拓展:python爬取鏈接去重
我就廢話不多說了,直接上代碼吧!
from urllib.request import urlopen from bs4 import BeautifulSoup import re pages = set() def getLinks(pageUrl): global pages html = urlopen("http://en.wikipedia.org"+pageUrl) bsObj = BeautifulSoup(html) for link in bsObj.findAll("a",href = re.compile("^(/wiki/)")): if 'href' in link.attrs: if link.attrs['href'] not in pages: #遇到新的頁面 newPage = link.attrs['href'] print(newPage) pages.add(newPage) getLinks(newPage) getLinks("")
以上這篇淺談python元素如何去重,去重后如何保持原來元素的順序不變就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python3的一個天坑問題及解決方法:報錯UnicodeDecodeError: ‘utf-8‘
在調(diào)試程序發(fā)現(xiàn)python3的一個天坑問題:報錯UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xa3 in position 59: invalid,特此曝光,為眾位開發(fā)朋友提個醒2023-09-09Python 實現(xiàn)取多維數(shù)組第n維的前幾位
今天小編就為大家分享一篇Python 實現(xiàn)取多維數(shù)組第n維的前幾位,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11Pytorch在訓(xùn)練時凍結(jié)某些層使其不參與訓(xùn)練問題(更新梯度)
這篇文章主要介紹了Pytorch在訓(xùn)練時凍結(jié)某些層使其不參與訓(xùn)練問題(更新梯度),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11