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入门教程之if语句的用法
May 14 Python
用Python实现命令行闹钟脚本实例
Sep 05 Python
Python实现一个Git日志统计分析的小工具
Dec 14 Python
Python操作MySQL模拟银行转账
Mar 12 Python
python pygame实现2048游戏
Nov 20 Python
Python实现去除列表中重复元素的方法总结【7种方法】
Feb 16 Python
python Django里CSRF 对应策略详解
Aug 05 Python
Python使用tkinter实现摇骰子小游戏功能的代码
Jul 02 Python
python中watchdog文件监控与检测上传功能
Oct 30 Python
python 爬取英雄联盟皮肤并下载的示例
Dec 04 Python
python小型的音频操作库mp3Play
Apr 24 Python
利用Python脚本写端口扫描器socket,python-nmap
Jul 23 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
关于Intype一些小问题的解决办法
2008/03/28 PHP
php 移除数组重复元素的一点说明
2008/11/27 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
PHP中的类型提示(type hinting)功能介绍
2015/07/01 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
2018/06/06 PHP
PDO::inTransaction讲解
2019/01/28 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
纯js实现div内图片自适应大小(已测试,兼容火狐)
2014/06/16 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
利用yarn实现一个webpack+react种子
2016/10/25 Javascript
利用vscode调试编译后的js代码详解
2018/05/14 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
2018/05/16 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
Python中的并发编程实例
2014/07/07 Python
Python中shutil模块的学习笔记教程
2017/04/04 Python
Django的分页器实例(paginator)
2017/12/01 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
对python3 sort sorted 函数的应用详解
2019/06/27 Python
python scrapy重复执行实现代码详解
2019/12/28 Python
基于梯度爆炸的解决方法:clip gradient
2020/02/04 Python
Python实现链表反转的方法分析【迭代法与递归法】
2020/02/22 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
Shopee菲律宾:在线购买和出售
2019/11/25 全球购物
德国便宜的宠物店:Brekz.de
2020/10/23 全球购物
创立科技Java面试题
2015/11/29 面试题
项目副经理岗位职责
2013/12/30 职场文书
企业文化标语大全
2014/06/10 职场文书
群众路线个人整改措施
2014/10/24 职场文书
2015年生产部工作总结范文
2015/05/25 职场文书
运动会开幕式新闻稿
2015/07/17 职场文书
大学生志愿者心得体会
2016/01/15 职场文书
Python中常见的导入方式总结
2021/05/06 Python