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 相关文章推荐
windows环境下tensorflow安装过程详解
Mar 30 Python
Python批量合并有合并单元格的Excel文件详解
Apr 05 Python
Django rest framework实现分页的示例
May 24 Python
python实时监控cpu小工具
Jun 21 Python
如何优雅地改进Django中的模板碎片缓存详解
Jul 04 Python
Python多图片合并PDF的方法
Jan 03 Python
Python 给定的经纬度标注在地图上的实现方法
Jul 05 Python
Python基于read(size)方法读取超大文件
Mar 12 Python
keras 使用Lambda 快速新建层 添加多个参数操作
Jun 10 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
Jul 02 Python
Python-openpyxl表格读取写入的案例详解
Nov 02 Python
python如何利用cv2.rectangle()绘制矩形框
Dec 24 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
PHP4实际应用经验篇(8)
2006/10/09 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
[原创]php正则删除img标签的方法示例
2017/05/27 PHP
为你的 Laravel 验证器加上多验证场景的实现
2020/04/07 PHP
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
js滑动提示效果代码分享
2016/03/10 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
2016/06/25 Javascript
jQuery实现文档树效果
2017/02/20 Javascript
Bootstrap datepicker日期选择器插件使用详解
2017/07/26 Javascript
Vue2.0 组件传值通讯的示例代码
2017/08/01 Javascript
vue.js在标签属性中插入变量参数的方法
2018/03/06 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
JS关闭子窗口并且刷新上一个窗口的实现示例
2020/03/10 Javascript
python字符串str和字节数组相互转化方法
2017/03/18 Python
Python分治法定义与应用实例详解
2017/07/28 Python
Python 获取当前所在目录的方法详解
2017/08/02 Python
python利用paramiko连接远程服务器执行命令的方法
2017/10/16 Python
Python2.7下安装Scrapy框架步骤教程
2017/12/22 Python
分析Python读取文件时的路径问题
2018/02/11 Python
python实现换位加密算法的示例
2018/10/14 Python
python实现可变变量名方法详解
2019/07/01 Python
基于python 微信小程序之获取已存在模板消息列表
2019/08/05 Python
Python中pymysql 模块的使用详解
2019/08/12 Python
关于Python核心框架tornado的异步协程的2种方法详解
2019/08/28 Python
Django框架 查询Extra功能实现解析
2019/09/04 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
Python3操作YAML文件格式方法解析
2020/04/10 Python
python自定义函数def的应用详解
2020/06/03 Python
HTML5头部标签的一些常用信息小结
2016/10/23 HTML / CSS
加拿大最大的书店:Indigo
2017/01/01 全球购物
德国滑雪和户外用品网上商店:XSPO
2019/10/30 全球购物
大学生的四年学习自我评价
2013/12/13 职场文书
优秀大学生的自我评价
2014/01/16 职场文书
网络营销策划方案
2014/06/04 职场文书
JS前端宏任务微任务及Event Loop使用详解
2022/07/23 Javascript