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 相关文章推荐
Python3基础之函数用法
Aug 13 Python
python定时检查某个进程是否已经关闭的方法
May 20 Python
Python3使用requests包抓取并保存网页源码的方法
Mar 15 Python
python实现日常记账本小程序
Mar 10 Python
利用Python查看微信共同好友功能的实现代码
Apr 24 Python
python多线程下信号处理程序示例
May 31 Python
pandas数据筛选和csv操作的实现方法
Jul 02 Python
python科学计算之numpy——ufunc函数用法
Nov 25 Python
详解Django配置JWT认证方式
May 09 Python
计算Python Numpy向量之间的欧氏距离实例
May 22 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
Nov 25 Python
详解Python遍历列表时删除元素的正确做法
Jan 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/04 冲泡冲煮
PHP调用三种数据库的方法(1)
2006/10/09 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
OfflineSave离线保存代码再次发布使用说明
2007/05/23 Javascript
js+css实现增加表单可用性之提示文字
2013/06/03 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
2015/09/14 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
2017/04/25 jQuery
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
2017/12/23 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
2020/03/17 Javascript
[46:37]LGD vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python中使用wxPython开发的一个简易笔记本程序实例
2015/02/08 Python
Python中的zipfile模块使用详解
2015/06/25 Python
Python设计模式之适配器模式原理与用法详解
2019/01/15 Python
Python3 实现串口两进程同时读写
2019/06/12 Python
Pytorch中index_select() 函数的实现理解
2019/11/19 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
简单介绍HTML5中audio标签的使用
2015/09/24 HTML / CSS
Html5 Canvas动画基础碰撞检测的实现
2018/12/06 HTML / CSS
秘鲁购物网站:Linio秘鲁
2017/04/07 全球购物
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
俄罗斯首家面向中国消费者的一站式购物网站:Wruru
2020/05/08 全球购物
北京捷通华声语音技术有限公司Java软件工程师笔试题
2012/04/10 面试题
商务助理岗位职责
2013/11/13 职场文书
党的群众路线教育实践活动查摆问题及整改措施
2014/10/10 职场文书
pytorch 如何使用batch训练lstm网络
2021/05/28 Python
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android
详解Python中*args和**kwargs的使用
2022/04/07 Python
Docker部署Mysql8的实现步骤
2022/07/07 Servers