浅谈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 相关文章推荐
rhythmbox中文名乱码问题解决方法
Sep 06 Python
Python实现队列的方法
May 26 Python
Python设计模式之门面模式简单示例
Jan 09 Python
Python获取指定文件夹下的文件名的方法
Feb 06 Python
使用Python实现将list中的每一项的首字母大写
Jun 11 Python
windows上安装python3教程以及环境变量配置详解
Jul 18 Python
python 子类调用父类的构造函数实例
Mar 12 Python
jupyter notebook插入本地图片的实现
Apr 13 Python
在django中form的label和verbose name的区别说明
May 20 Python
Python如何实现线程间通信
Jul 30 Python
TensorFlow中tf.batch_matmul()的用法
Jun 02 Python
如何在Python中妥善使用进度条详解
Apr 05 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
Protoss建筑一览
2020/03/14 星际争霸
9个实用的PHP代码片段分享
2015/01/22 PHP
隐性调用php程序的方法
2015/06/13 PHP
PHP使用imagick扩展实现合并图像的方法
2017/04/25 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
2017/07/10 PHP
PHP中quotemeta()函数的用法讲解
2019/04/04 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
Javascript日期对象的dateAdd与dateDiff方法
2008/11/18 Javascript
一个很酷的拖动层的js类,兼容IE及Firefox
2009/06/23 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
2013/04/26 Javascript
Js与下拉列表处理问题解决
2014/02/13 Javascript
不要使用jQuery触发原生事件的方法
2014/03/03 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
Jquery动态列功能完整实例
2019/08/30 jQuery
vue和iview实现Scroll 数据无限滚动功能
2019/10/31 Javascript
JavaScript实现网页留言板功能
2020/11/23 Javascript
[06:21]完美世界亚洲区首席发行官竺琦TI3采访
2013/08/26 DOTA
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
[49:12]完美世界DOTA2联赛PWL S2 Magma vs GXR 第二场 11.29
2020/12/02 DOTA
python str与repr的区别
2013/03/23 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
Python面向对象实现一个对象调用另一个对象操作示例
2019/04/08 Python
python多线程分块读取文件
2019/08/29 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
2020/09/28 Python
用Python进行websocket接口测试
2020/10/16 Python
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
新加坡网上美容店:Hermo新加坡
2019/06/19 全球购物
Ruby如何实现动态方法调用
2012/11/18 面试题
客户代表自我评价范例
2013/09/24 职场文书
参观考察邀请函范文
2014/01/29 职场文书
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python