浅谈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 相关文章推荐
天翼开放平台免费短信验证码接口使用实例
Dec 18 Python
Python collections模块实例讲解
Apr 07 Python
Python抓取京东图书评论数据
Aug 31 Python
python使用urllib2实现发送带cookie的请求
Apr 28 Python
Python温度转换实例分析
Jan 17 Python
Python调用服务接口的实例
Jan 03 Python
python调用自定义函数的实例操作
Jun 26 Python
tensorflow如何继续训练之前保存的模型实例
Jan 21 Python
TensorFlow实现打印每一层的输出
Jan 21 Python
Python 删除List元素的三种方法remove、pop、del
Nov 16 Python
python pyg2plot的原理知识点总结
Feb 28 Python
Python编程中内置的NotImplemented类型的用法
Mar 23 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分页类的代码
2011/05/18 PHP
浅析PHP递归函数返回值使用方法
2013/02/18 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
thinkphp框架实现删除和批量删除
2016/06/29 PHP
[原创]php简单隔行变色功能实现代码
2016/07/09 PHP
laravel + vue实现的数据统计绘图(今天、7天、30天数据)
2018/07/31 PHP
phpinfo的知识点总结
2019/10/10 PHP
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
2009/09/15 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
2013/11/14 Javascript
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
用js判断是否为360浏览器的实现代码
2015/01/15 Javascript
一看就懂:jsonp详解
2015/06/01 Javascript
Javascript中prototype的使用详解
2016/06/18 Javascript
微信小程序 scroll-view实现上拉加载与下拉刷新的实例
2017/01/21 Javascript
关于ES6的六个小特性(二)
2017/02/20 Javascript
jquery 禁止鼠标右键并监听右键事件
2017/04/27 jQuery
Javascript调试之console对象——你不知道的一些小技巧
2017/07/10 Javascript
浅谈vue中数据双向绑定的实现原理
2017/09/14 Javascript
微信小程序之批量上传并压缩图片的实例代码
2018/07/05 Javascript
NodeJs 文件系统操作模块fs使用方法详解
2018/11/26 NodeJs
js函数柯里化的方法和作用实例分析
2020/04/11 Javascript
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
深入理解python多进程编程
2016/06/12 Python
Python3实现的简单工资管理系统示例
2019/03/12 Python
numpy.meshgrid()理解(小结)
2019/08/01 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
详细分析Python垃圾回收机制
2020/07/01 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
荷兰男士时尚网上商店:Suitable
2017/12/25 全球购物
联想加拿大官方网站:Lenovo Canada
2018/04/05 全球购物
PHP面试题大全
2015/10/16 面试题
2015年护士节活动总结
2015/02/10 职场文书
教师个人发展总结
2015/02/11 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
如何才能写好调研报告?
2019/07/03 职场文书