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实现子类调用父类的方法
Nov 10 Python
Python中asyncore异步模块的用法及实现httpclient的实例
Jun 28 Python
基于并发服务器几种实现方法(总结)
Dec 29 Python
python实现监控某个服务 服务崩溃即发送邮件报告
Jun 21 Python
Python爬取qq空间说说的实例代码
Aug 17 Python
使用Python控制摄像头拍照并发邮件
Apr 23 Python
详解django使用include无法跳转的解决方法
Mar 19 Python
Python使用lambda抛出异常实现方法解析
Aug 20 Python
Python如何截图保存的三种方法(小结)
Sep 01 Python
matplotlib bar()实现百分比堆积柱状图
Feb 24 Python
python实现自动化群控的步骤
Apr 11 Python
Python&Matlab实现樱花的绘制
Apr 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
非洲第一个咖啡超凡杯大赛承办国—卢旺达的咖啡怎么样
2021/03/03 咖啡文化
PHP中异常处理的一些方法整理
2015/07/03 PHP
PHP实现补齐关闭的HTML标签
2016/03/22 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
2019/04/27 PHP
jQuery bind事件使用详解
2011/05/05 Javascript
利用jquery动画特效和css打造的侧边弹出垂直导航
2014/04/04 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
Highcharts入门之简介
2016/08/02 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
js制作简单的音乐播放器的示例代码
2017/08/28 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
2020/02/01 Javascript
vue内置组件component--通过is属性动态渲染组件操作
2020/07/28 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
2020/08/07 Javascript
微信小程序选择图片控件
2021/01/19 Javascript
Python实现的Kmeans++算法实例
2014/04/26 Python
python生成式的send()方法(详解)
2017/05/08 Python
python技能之数据导出excel的实例代码
2017/08/11 Python
python中如何使用虚拟环境
2020/10/14 Python
css3实现针线缝合效果(图解步骤)
2013/02/04 HTML / CSS
使用HTML5拍照示例代码
2013/08/06 HTML / CSS
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
利用HTML5实现使用按钮控制背景音乐开关
2015/09/21 HTML / CSS
德国前卫设计师时装在线商店:Luxury Loft
2019/11/04 全球购物
linux面试题参考答案(9)
2016/01/29 面试题
党校学习思想汇报
2014/01/06 职场文书
怎样写好自我评价呢?
2014/02/16 职场文书
参赛口号
2014/06/16 职场文书
公司委托书格式范文
2014/10/09 职场文书
优秀共产党员推荐材料
2014/12/18 职场文书
如何写通讯稿
2015/07/22 职场文书
如何写好开幕词?
2019/06/24 职场文书
话题作文之关于呼唤
2019/11/29 职场文书
HTML5来实现本地文件读取和写入的实现方法
2021/05/25 HTML / CSS
mysql中between的边界,范围说明
2021/06/08 MySQL
Redis的字符串是如何实现的
2021/10/24 Redis