浅谈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中的高级数据结构详解
Mar 27 Python
简单的python后台管理程序
Apr 13 Python
Python解析json代码实例解析
Nov 25 Python
Python基础之函数原理与应用实例详解
Jan 03 Python
PyTorch 解决Dataset和Dataloader遇到的问题
Jan 08 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
Feb 28 Python
Window系统下Python如何安装OpenCV库
Mar 05 Python
Python json读写方式和字典相互转化
Apr 18 Python
解决python执行较大excel文件openpyxl慢问题
May 15 Python
python能否java成为主流语言吗
Jun 22 Python
pytorch--之halfTensor的使用详解
May 24 Python
python3 字符串str和bytes相互转换
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 高手之路(一)
2006/10/09 PHP
模仿OSO的论坛(三)
2006/10/09 PHP
php中防止SQL注入的最佳解决方法
2013/04/25 PHP
利用PHP+JS实现搜索自动提示(实例)
2013/06/09 PHP
Yii2使用swiftmailer发送邮件的方法
2016/05/03 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
extjs 学习笔记(一) 一些基础知识
2009/10/13 Javascript
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
javascript中attachEvent用法实例分析
2015/05/14 Javascript
jQuery平滑旋转幻灯片特效代码分享
2015/09/07 Javascript
实例详解jQuery表单验证插件validate
2016/01/18 Javascript
Mongoose中document与object的区别示例详解
2017/09/18 Javascript
jQuery实现弹窗下底部页面禁止滑动效果
2017/12/19 jQuery
vue中引入第三方字体文件的方法示例
2018/12/17 Javascript
JavaScript交换变量的常用方法小结【4种方法】
2020/05/07 Javascript
python创建和删除目录的方法
2015/04/29 Python
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
python中numpy的矩阵、多维数组的用法
2018/02/05 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
2018/02/21 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
Python中实现输入超时及如何通过变量获取变量名
2020/01/18 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
2020/04/15 Python
python pip如何手动安装二进制包
2020/09/30 Python
HTML5 SEO优化的一些建议
2020/08/27 HTML / CSS
医科大学生的自我评价
2013/12/04 职场文书
迟到检讨书5000字
2014/01/31 职场文书
学生操行评语大全
2014/04/24 职场文书
竞聘演讲稿精彩开头和结尾
2014/05/14 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
2015年团支部年度工作总结
2015/05/27 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书
导游词之蓬莱长岛
2019/12/17 职场文书
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL
Nginx HTTP跳转至HTTPS
2022/05/15 Servers
MySQL中正则表达式(REGEXP)使用详解
2022/07/07 MySQL