Python对列表去重的多种方法(四种方法)


Posted in Python onDecember 05, 2017

无聊统计了下列表去重到底有多少种方法。下面小编给大家总结一下,具体内容详情如下;

开发中对数组、列表去重是非常常见的需求,对一个list中的id进行去重,有下面几种方法,前面两种方法不能保证顺序, 后面两种方法可以保持原来的顺序。

下面的代码都在Python3下测试通过, Python2下请自行测试

1. 使用set的特型,python的set和其他语言类似, 是一个无序不重复元素集

orgList = [1,0,3,7,7,5]
#list()方法是把字符串str或元组转成数组
formatList = list(set(orgList))
print (formatList)

结果:

[0, 1, 3, 5, 7]

2. 使用keys()方法

orgList = [1,0,3,7,7,5]
#list()方法是把字符串str或元组转成数组
formatList = list({}.fromkeys(orgList).keys())
print (formatList)

结果:

[0, 1, 3, 5, 7]

上面两种方法的问题是:结果是没有保持原来的顺序。

3. 循环遍历法

orgList = [1,0,3,7,7,5]
formatList = []
for id in orgList:
 if id not in formatList:
  formatList.append(id)
print (formatList)

结果:

[1, 0, 3, 7, 5]
but,这样的代码不够简洁,不够高端

4. 按照索引再次排序

orgList = [1,0,3,7,7,5]
formatList = list(set(orgList))
formatList.sort(key=orgList.index)
print (formatList)

结果:

[1, 0, 3, 7, 5]

总结

以上所述是小编给大家介绍的Python对列表去重的多种方法(四种方法),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python 文件与目录操作
Dec 24 Python
python基础教程之面向对象的一些概念
Aug 29 Python
Python装饰器decorator用法实例
Nov 10 Python
Django框架中render_to_response()函数的使用方法
Jul 16 Python
python实现在cmd窗口显示彩色文字
Jun 24 Python
python使用opencv对图像mask处理的方法
Jul 05 Python
树莓派安装OpenCV3完整过程的实现
Oct 10 Python
Python序列对象与String类型内置方法详解
Oct 22 Python
原来我一直安装 Python 库的姿势都不对呀
Nov 11 Python
python实现XML解析的方法解析
Nov 16 Python
在服务器上安装python3.8.2环境的教程详解
Apr 26 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
Aug 07 Python
详解Python在七牛云平台的应用(一)
Dec 05 #Python
Python 快速实现CLI 应用程序的脚手架
Dec 05 #Python
python调用Delphi写的Dll代码示例
Dec 05 #Python
Python字典数据对象拆分的简单实现方法
Dec 05 #Python
python reduce 函数使用详解
Dec 05 #Python
有趣的python小程序分享
Dec 05 #Python
详细分析python3的reduce函数
Dec 05 #Python
You might like
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
2007/03/15 PHP
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
2015/12/14 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
PHP操作Redis常用命令的实例详解
2020/12/23 PHP
通过JS 获取Mouse Position(鼠标坐标)的代码
2009/09/21 Javascript
JavaScript快速检测浏览器对CSS3特性的支持情况
2012/09/26 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
2016/04/01 Javascript
Jquery揭秘系列:ajax原生js实现详解(推荐)
2016/06/08 Javascript
AngularJS入门教程之数据绑定用法示例
2016/11/01 Javascript
Bootstrap整体框架之CSS12栅格系统
2016/12/15 Javascript
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
Angular实现较为复杂的表格过滤,删除功能示例
2017/12/23 Javascript
JSON数据中存在单个转义字符“\”的处理方法
2018/07/11 Javascript
Vue在chrome44偶现点击子元素事件无法冒泡的解决方法
2019/12/15 Javascript
在NodeJs中使用node-schedule增加定时器任务的方法
2020/06/08 NodeJs
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
讲解Python中运算符使用时的优先级
2015/05/14 Python
Python OpenCV读取显示视频的方法示例
2020/02/20 Python
伦敦平价潮流珠宝首饰品牌:Astrid & Miyu
2016/10/10 全球购物
moosejaw旗下的户外商品促销网站:Mountain Steals
2017/02/27 全球购物
酒店总经理助理职责
2014/02/12 职场文书
物业经理自我鉴定
2014/03/03 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
小学评语大全
2014/04/22 职场文书
2014年幼儿园个人工作总结
2014/11/10 职场文书
实习单位证明范例
2014/11/17 职场文书
简单的辞职信怎么写
2015/02/28 职场文书
2015年小学语文工作总结
2015/05/25 职场文书
户外拓展训练感想
2015/08/07 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
vue elementUI表格控制对应列
2022/04/13 Vue.js