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 21 Python
Python中的__new__与__init__魔术方法理解笔记
Nov 08 Python
在Python中使用mechanize模块模拟浏览器功能
May 05 Python
python创建一个最简单http webserver服务器的方法
May 08 Python
Python读写unicode文件的方法
Jul 10 Python
python 实现网上商城,转账,存取款等功能的信用卡系统
Jul 15 Python
在 Python 应用中使用 MongoDB的方法
Jan 05 Python
python构建深度神经网络(续)
Mar 10 Python
深入理解Django的中间件middleware
Mar 14 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
Mar 30 Python
python实现静态web服务器
Sep 03 Python
基于Pyinstaller打包Python程序并压缩文件大小
May 28 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
windows xp下安装pear
2006/12/02 PHP
php基于单例模式封装mysql类完整实例
2016/10/18 PHP
JS支持带x身份证号码验证函数
2008/08/10 Javascript
javascript动态加载二
2012/08/22 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
Bootstrap Multiselect 常用组件实现代码
2017/07/09 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
JS使用H5实现图片预览功能
2019/09/30 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
python实现感知器算法详解
2017/12/19 Python
Python实现的三层BP神经网络算法示例
2018/02/07 Python
selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)
2018/11/29 Python
python仿evething的文件搜索器实例代码
2019/05/13 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
css3实现多个元素依次显示效果
2017/12/12 HTML / CSS
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
印度和世界各地的精美产品:Ikka Dukka
2018/02/12 全球购物
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
英国儿童设计师服装的领先零售商:Base
2019/03/17 全球购物
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
英国第一的滑雪服装和装备零售商:Snow+Rock
2020/02/01 全球购物
杭州-DOTNET笔试题集
2013/09/25 面试题
法律进学校实施方案
2014/03/15 职场文书
环保建议书100字
2014/05/14 职场文书
现场活动策划方案
2014/08/22 职场文书
2014年大学生职业规划书:未来不是梦,只要勇敢冲!
2014/09/22 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
付款承诺函范文
2015/01/21 职场文书
孙振耀退休感言
2015/08/01 职场文书
Python中使用Lambda函数的5种用法
2021/04/01 Python
解析CSS 提取图片主题色功能(小技巧)
2021/05/12 HTML / CSS
详解Java实践之抽象工厂模式
2021/06/18 Java/Android
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android