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 struct模块解析
Jun 12 Python
Python中字典(dict)和列表(list)的排序方法实例
Jun 16 Python
在Python中使用列表生成式的教程
Apr 27 Python
Python中operator模块的操作符使用示例总结
Jun 28 Python
Python利用flask sqlalchemy实现分页效果
Aug 02 Python
python机器学习之神经网络(二)
Dec 20 Python
python3.6 实现AES加密的示例(pyCryptodome)
Jan 10 Python
python与sqlite3实现解密chrome cookie实例代码
Jan 20 Python
tensorflow学习笔记之mnist的卷积神经网络实例
Apr 15 Python
Django时区详解
Jul 24 Python
pycharm通过ssh连接远程服务器教程
Feb 12 Python
读取nii或nii.gz文件中的信息即输出图像操作
Jul 01 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
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
curl实现站外采集的方法和技巧
2014/01/31 PHP
php实现图片添加水印功能
2014/02/13 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
CI框架整合widget(页面格局)的方法
2016/05/17 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
PHP数字金额转换成中文大写显示
2019/01/05 PHP
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
js下用gb2312编码解码实现方法
2009/12/31 Javascript
来自qq的javascript面试题
2010/07/24 Javascript
js的回调函数详解
2015/01/05 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
JavaScript的Number对象的toString()方法
2015/12/18 Javascript
jQuery基本选择器之标签名选择器
2016/09/03 Javascript
老生常谈js-react组件生命周期
2017/05/02 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
使用Layui搭建后台管理界面的操作方法
2019/09/20 Javascript
js实现验证码功能
2020/07/24 Javascript
[15:15]教你分分钟做大人:狙击手
2014/10/30 DOTA
Python上传package到Pypi(代码简单)
2016/02/06 Python
速记Python布尔值
2017/11/09 Python
Python简单实现两个任意字符串乘积的方法示例
2018/04/12 Python
Python3 解决读取中文文件txt编码的问题
2019/12/20 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
如何在mac下配置python虚拟环境
2020/07/06 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
python上下文管理器异常问题解决方法
2021/02/07 Python
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
《李时珍夜宿古寺》教学反思
2014/04/09 职场文书
还款承诺书范文
2014/05/20 职场文书
团代会闭幕词
2015/01/28 职场文书
2015年医药代表工作总结
2015/04/25 职场文书
MYSQL常用函数介绍
2022/05/05 MySQL