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跳出循环语句continue与break的区别
Aug 25 Python
Python random模块常用方法
Nov 03 Python
使用Protocol Buffers的C语言拓展提速Python程序的示例
Apr 16 Python
python使用arcpy.mapping模块批量出图
Mar 06 Python
python实现决策树ID3算法的示例代码
May 30 Python
TensorFlow 合并/连接数组的方法
Jul 27 Python
Python函数参数操作详解
Aug 03 Python
Python的argparse库使用详解
Oct 09 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
Aug 02 Python
python实现在内存中读写str和二进制数据代码
Apr 24 Python
Python引入多个模块及包的概念过程解析
Sep 21 Python
Django框架之路由用法
Jun 10 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
PHP中上传大体积文件时需要的设置
2006/10/09 PHP
php新建文件自动编号的思路与实现
2011/06/27 PHP
数据库中排序的对比及使用条件详解
2012/02/23 PHP
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
php+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
php的curl封装类用法实例
2014/11/07 PHP
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
JavaScript内核之基本概念
2011/10/21 Javascript
JQuery $.each遍历JavaScript数组对象实例
2014/09/01 Javascript
Javascript 计算字符串在localStorage中所占字节数
2015/10/21 Javascript
AngularJS Bootstrap详细介绍及实例代码
2016/07/28 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
express框架实现基于Websocket建立的简易聊天室
2017/08/10 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
2017/09/27 Javascript
vue组件watch属性实例讲解
2017/11/07 Javascript
JS返回页面时自动回滚到历史浏览位置
2018/09/26 Javascript
React 路由懒加载的几种实现方案
2018/10/23 Javascript
webpack4实现不同的导出类型
2019/04/09 Javascript
微信小程序和H5页面间相互跳转代码实例
2019/09/19 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
2020/02/27 Javascript
JavaScript实现HTML导航栏下拉菜单
2020/11/25 Javascript
Python greenlet实现原理和使用示例
2014/09/24 Python
python中的装饰器详解
2015/04/13 Python
python抓取网页中图片并保存到本地
2015/12/01 Python
Python实现自动登录百度空间的方法
2017/06/10 Python
matplotlib作图添加表格实例代码
2018/01/23 Python
pygame游戏之旅 游戏中添加显示文字
2018/11/20 Python
美国最大的骑马用品零售商:HorseLoverZ
2017/01/12 全球购物
美国最好的保健品打折网店:Swanson
2017/08/04 全球购物
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
幼儿园园长自我鉴定
2013/10/22 职场文书
2014年精神文明工作总结
2014/12/23 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
了解Redis常见应用场景
2021/06/23 Redis
Python编程源码报错解决方法总结经验分享
2021/10/05 Python
SQL Server Agent 服务无法启动
2022/04/20 SQL Server