python列表元素去重后如何保持原來的順序不變
目前創(chuàng)新互聯(lián)公司已為上1000家的企業(yè)提供了網(wǎng)站建設、域名、雅安服務器托管、網(wǎng)站托管維護、企業(yè)網(wǎng)站設計、北辰網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。原列表:
list1 = [1,2,1,4,9,3,5,2,6,7,3,1,6,8,4,0]
去重,使用集合set來去重:
list2 = list(set(list1)
set去重得到的list2默認按升序進行排序:
list2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
使list2按照list1元素出現(xià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("")
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。