浅谈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读取注册表中值的方法
Apr 08 Python
python实现人人网登录示例分享
Jan 19 Python
python实现socket端口重定向示例
Feb 10 Python
Python Tkinter基础控件用法
Sep 03 Python
基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
Oct 13 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
May 16 Python
django框架创建应用操作示例
Sep 26 Python
Python3实现mysql连接和数据框的形成(实例代码)
Jan 17 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
Apr 08 Python
Python检测端口IP字符串是否合法
Jun 05 Python
结束运行python的方法
Jun 16 Python
Pandas中两个dataframe的交集和差集的示例代码
Dec 13 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防注入漏洞过滤函数代码
2012/04/11 PHP
Win下如何安装PHP的APC拓展
2013/08/07 PHP
深入分析PHP引用(&)
2014/09/04 PHP
php实现无限级分类
2014/12/24 PHP
Laravel 5框架学习之向视图传送数据
2015/04/08 PHP
PHP中的switch语句的用法实例详解
2015/10/21 PHP
PHP flush 函数使用注意事项
2016/08/26 PHP
PHP实现简易用户登录系统
2020/07/10 PHP
javascript与asp.net(c#)互相调用方法
2009/12/13 Javascript
js中widow.open()方法使用详解
2013/07/30 Javascript
深入理解Javascript作用域与变量提升
2013/12/09 Javascript
jQuery filter函数使用方法
2014/05/19 Javascript
node.js中的querystring.unescape方法使用说明
2014/12/10 Javascript
javascript 数组操作详解
2015/01/29 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
js完美解决IE6不支持position:fixed的bug
2015/04/24 Javascript
基于JavaScript实现TAB标签效果
2016/01/12 Javascript
JavaScript必知必会(五) eval 的使用
2016/06/08 Javascript
jQuery 如何实现一个滑动按钮开关
2016/12/01 Javascript
基于ajax和jsonp的原生封装(实例)
2017/10/16 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
如何为vuex实现带参数的 getter和state.commit
2019/01/04 Javascript
在微信小程序中使用图表的方法示例
2019/04/25 Javascript
layer提示框添加多个按钮选择的实例
2019/09/12 Javascript
在Django中使用Sitemap的方法讲解
2015/07/22 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
2017/12/14 Python
详解python多线程之间的同步(一)
2019/04/03 Python
django 数据库连接模块解析及简单长连接改造方法
2019/08/29 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
python数据库编程 ODBC方式实现通讯录
2020/03/27 Python
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
信息部岗位职责
2013/11/12 职场文书
师范学院教师自荐书
2014/01/31 职场文书
家长学校培训材料
2014/08/20 职场文书
党建工作目标管理责任书
2015/01/29 职场文书
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL