浅谈python元素如何去重,去重后如何保持原来元素的顺序不变


Posted in Python onFebruary 28, 2020

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默认按升序进行排序:

list2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

使list2按照list1元素出现的顺序进行排序(也就是原来的顺序):

list2.sort(key = list1.index)

此时,list2 = [1, 2, 4, 9, 3, 5, 6, 7, 8, 0]

具体的实现过程如下:

浅谈python元素如何去重,去重后如何保持原来元素的顺序不变

补充拓展: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元素如何去重,去重后如何保持原来元素的顺序不变就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python查询阿里巴巴关键字排名的方法
Jul 08 Python
深入理解python中的闭包和装饰器
Jun 12 Python
浅谈编码,解码,乱码的问题
Dec 30 Python
Python数据结构与算法之图结构(Graph)实例分析
Sep 05 Python
分享一下Python数据分析常用的8款工具
Apr 29 Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 Python
python爬虫租房信息在地图上显示的方法
May 13 Python
使用python爬取微博数据打造一颗“心”
Jun 28 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
Dec 04 Python
python json load json 数据后出现乱序的解决方案
Feb 27 Python
python实现逢七拍腿小游戏的思路详解
May 26 Python
python 判断文件或文件夹是否存在
Mar 18 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
Feb 27 #Python
Python递归求出列表(包括列表中的子列表)的最大值实例
Feb 27 #Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
Feb 27 #Python
Python 之 Json序列化嵌套类方式
Feb 27 #Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
Feb 27 #Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
Feb 27 #Python
python脚本实现mp4中的音频提取并保存在原目录
Feb 27 #Python
You might like
PHP EOT定界符的使用详解
2008/09/30 PHP
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
理解PHP中的Session及对Session有效期的控制
2016/01/08 PHP
php socket通信(tcp/udp)实例分析
2016/02/14 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
2016/11/23 PHP
jquery 弹出层实现代码
2009/10/30 Javascript
JQuery里面的几种选择器 查找满足条件的元素$("#控件ID")
2011/08/23 Javascript
EasyUI中的tree用法介绍
2011/11/01 Javascript
jQuery $.data()方法使用注意细节
2012/12/31 Javascript
jQuery javaScript捕获回车事件(示例代码)
2013/11/07 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
jQuery中html()方法用法实例
2014/12/25 Javascript
微信小程序 教程之模板
2016/10/18 Javascript
jquery html5 视频播放控制代码
2016/11/06 Javascript
浅谈html转义及防止javascript注入攻击的方法
2016/12/04 Javascript
使用jQuery实现简单的tab框实例
2017/08/22 jQuery
详解Vue路由钩子及应用场景(小结)
2017/11/07 Javascript
JS学习笔记之数组去重实现方法小结
2019/05/29 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
vue+openlayers绘制省市边界线
2020/12/24 Vue.js
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
Python Web框架Flask信号机制(signals)介绍
2015/01/01 Python
Python 遍历子文件和所有子文件夹的代码实例
2016/12/21 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
Tensorflow 实现释放内存
2020/02/03 Python
Python实现Wordcloud生成词云图的示例
2020/03/30 Python
Python3爬虫中pyspider的安装步骤
2020/07/29 Python
Python实现列表索引批量删除的5种方法
2020/11/16 Python
荷兰之家英文站:Holland at Home
2016/10/26 全球购物
来自南加州灵感的工作和娱乐服装:TravisMathew
2019/05/01 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
2015秋季幼儿园开学通知
2015/07/16 职场文书
Golang流模式之grpc的四种数据流
2022/04/13 Golang
详解Go语言中配置文件使用与日志配置
2022/06/01 Golang
使用Django框架创建项目
2022/06/10 Python
Golang gRPC HTTP协议转换示例
2022/06/16 Golang