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输出一个杨辉三角的例子
Jun 13 Python
python if not in 多条件判断代码
Sep 21 Python
python中is与双等于号“==”的区别示例详解
Nov 21 Python
TensorFlow如何实现反向传播
Feb 06 Python
python微信跳一跳系列之棋子定位颜色识别
Feb 26 Python
linux下python使用sendmail发送邮件
May 22 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
Jun 28 Python
详解python实现小波变换的一个简单例子
Jul 18 Python
在python中对于bool布尔值的取反操作
Dec 11 Python
python Protobuf定义消息类型知识点讲解
Mar 02 Python
golang特有程序结构入门教程
Jun 02 Python
聊聊基于pytorch实现Resnet对本地数据集的训练问题
Mar 25 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
PHP 开发工具
2006/12/06 PHP
PHP常用代码大全(新手入门必备)
2010/06/29 PHP
PHP中根据IP地址判断城市实现城市切换或跳转代码
2012/09/04 PHP
解决Codeigniter不能上传rar和zip压缩包问题
2014/03/07 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
2015/12/17 PHP
php版微信数据统计接口用法示例
2016/10/12 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
JavaScript中数组对象的那些自带方法介绍
2013/03/12 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
jquery与ajax获取特殊字符实例详解
2017/01/08 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
小程序封装wx.request请求并创建接口管理文件的实现
2019/04/29 Javascript
vue使用codemirror的两种用法
2019/08/27 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
原生JS实现留言板功能
2020/02/08 Javascript
python BeautifulSoup使用方法详解
2013/11/21 Python
Windows下实现Python2和Python3两个版共存的方法
2015/06/12 Python
Python实现的RSS阅读器实例
2015/07/25 Python
Python增量循环删除MySQL表数据的方法
2016/09/23 Python
Python之web模板应用
2017/12/26 Python
Python设置在shell脚本中自动补全功能的方法
2018/06/25 Python
python url 参数修改方法
2018/12/26 Python
Python绘制堆叠柱状图的实例
2019/07/09 Python
一文带你掌握Pyecharts地理数据可视化的方法
2021/02/06 Python
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
俄罗斯眼镜网: optikaworld
2016/07/31 全球购物
校长岗位职责
2013/11/26 职场文书
公司放假通知怎么写
2015/04/15 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
同学聚会致辞集锦
2015/07/28 职场文书
小学英语教学反思范文
2016/02/15 职场文书
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js