浅谈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中文分词实现方法(安装pymmseg)
Jun 14 Python
Python编码类型转换方法详解
Jul 01 Python
Python实现PS图像调整颜色梯度效果示例
Jan 25 Python
Python读写及备份oracle数据库操作示例
May 17 Python
python traceback捕获并打印异常的方法
Aug 31 Python
Linux系统(CentOS)下python2.7.10安装
Sep 26 Python
解决pyinstaller打包pyqt5的问题
Jan 08 Python
对python列表里的字典元素去重方法详解
Jan 21 Python
Python Pandas 获取列匹配特定值的行的索引问题
Jul 01 Python
详解Django模版中加载静态文件配置方法
Jul 21 Python
基于nexus3配置Python仓库过程详解
Jun 15 Python
Python3中最常用的5种线程锁实例总结
Jul 07 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制作图型计数器的例子
2006/10/09 PHP
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
php绘制圆形的方法
2015/01/24 PHP
PHP完全二叉树定义与实现方法示例
2017/10/09 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
2019/01/10 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
2019/04/10 PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
2019/09/10 PHP
js解析与序列化json数据(一)json.stringify()的基本用法
2013/02/01 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
使用jquery实现以post打开新窗口
2014/03/19 Javascript
js中不同的height, top的区别对比
2015/09/24 Javascript
jquery插件Jplayer使用方法简析
2016/04/22 Javascript
Svg.js实例教程及使用手册详解(一)
2016/05/16 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
jQuery实现动态添加tr到table的方法
2016/12/26 Javascript
nodejs实现邮件发送服务实例分享
2017/03/29 NodeJs
jQuery动态追加页面数据以及事件委托详解
2017/05/06 jQuery
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
2017/06/19 Javascript
关于js陀螺仪的理解分析
2019/04/11 Javascript
JS实现给数组对象排序的方法分析
2019/06/24 Javascript
[20:57]Ti4主赛事第三天开幕式
2014/07/21 DOTA
解决python测试opencv时imread导致的错误问题
2019/01/26 Python
Python编写单元测试代码实例
2020/09/10 Python
Python 可视化神器Plotly详解
2020/12/26 Python
详解pandas映射与数据转换
2021/01/22 Python
HTML+CSS3模拟心的跳动实例代码
2017/09/05 HTML / CSS
de Bijenkorf比利时官网:荷兰最知名的百货商店
2017/06/29 全球购物
.net开发工程师面试题
2014/02/25 面试题
儿子婚宴答谢词
2014/01/09 职场文书
总经理文秘岗位职责
2014/02/03 职场文书
服装促销活动方案
2014/02/23 职场文书
村党支部换届选举方案
2014/05/02 职场文书
民主评议党员总结
2014/10/20 职场文书
2014年化验员工作总结
2014/11/18 职场文书
2014年妇产科工作总结
2014/12/08 职场文书
村党组织公开承诺书
2015/04/30 职场文书