浅谈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操作MySQL数据库的方法分享
May 29 Python
利用Python爬取微博数据生成词云图片实例代码
Aug 31 Python
Python实现一个简单的验证码程序
Nov 03 Python
Numpy数组的保存与读取方法
Apr 04 Python
pandas修改DataFrame列名的方法
Apr 08 Python
django manage.py扩展自定义命令方法
May 27 Python
使用PyTorch训练一个图像分类器实例
Jan 08 Python
Python关于__name__属性的含义和作用详解
Feb 19 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
Mar 16 Python
用pandas划分数据集实现训练集和测试集
Jul 20 Python
详解Python中import机制
Sep 11 Python
python 利用 PIL 将数组值转成图片的实现
Apr 12 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模拟SQL Server的两个日期处理函数
2006/10/09 PHP
遍历指定目录下的所有目录和文件的php代码
2011/11/27 PHP
PHP求小于1000的所有水仙花数的代码
2012/01/10 PHP
thinkphp实现多语言功能(语言包)
2014/03/04 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
2015/03/12 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
使用javascript实现ListBox左右全选,单选,多选,全请
2013/11/07 Javascript
javascript实现动态加载CSS
2015/01/26 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
2015/03/23 Javascript
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
2015/05/07 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
2015/06/04 Javascript
javascript的理解及经典案例分析
2016/05/20 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
基于Bootstrap表单验证功能
2017/11/17 Javascript
webpack搭建vue 项目的步骤
2017/12/27 Javascript
原生nodejs使用websocket代码分享
2018/04/07 NodeJs
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
JQuery绑定事件四种实现方法解析
2020/12/02 jQuery
python用模块zlib压缩与解压字符串和文件的方法
2016/12/16 Python
pandas将numpy数组写入到csv的实例
2018/07/04 Python
Django中的文件的上传的几种方式
2018/07/23 Python
python利用Tesseract识别验证码的方法示例
2019/01/21 Python
HTML的form表单和django的form表单
2019/07/25 Python
Python 二叉树的层序建立与三种遍历实现详解
2019/07/29 Python
python openvc 裁剪、剪切图片 提取图片的行和列
2019/09/19 Python
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
一套中级Java程序员笔试题
2015/01/14 面试题
医学院四年学习生活的自我评价
2013/11/06 职场文书
护士检查书
2014/01/17 职场文书
无刑事犯罪记录证明范本
2014/09/29 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
河童之夏观后感
2015/06/11 职场文书
2016同学毕业寄语大全
2015/12/04 职场文书
2016年优秀共青团员事迹材料
2016/02/25 职场文书
《帝国时代4》赛季预告 新增内容编译器可创造地图
2022/04/03 其他游戏