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中用get()方法获取字典键值的教程
May 21 Python
python装饰器初探(推荐)
Jul 21 Python
Python实现对字符串的加密解密方法示例
Apr 29 Python
Flask解决跨域的问题示例代码
Feb 12 Python
python获取程序执行文件路径的方法(推荐)
Apr 26 Python
pycharm: 恢复(reset) 误删文件的方法
Oct 22 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
Aug 30 Python
在python中利用try..except来代替if..else的用法
Dec 19 Python
Tensorflow之梯度裁剪的实现示例
Mar 08 Python
pycharm导入源码的具体步骤
Aug 04 Python
Python 内存管理机制全面分析
Jan 16 Python
python 递归相关知识总结
Mar 03 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对gzip文件或者字符串解压实例参考
2008/07/25 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
JavaScript简单获取系统当前时间完整示例
2016/08/02 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
js实现登录与注册界面
2017/11/01 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
nodejs读取本地中文json文件出现乱码解决方法
2018/10/10 NodeJs
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
2019/09/25 Javascript
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
js滚轮事件 js自定义滚动条的实现
2020/01/18 Javascript
Vue实现跑马灯效果
2020/05/25 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
[46:55]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python异常处理总结
2014/08/15 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
PyCharm的设置方法和第一个Python程序的建立
2019/01/16 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
python如何查看安装了的模块
2020/06/23 Python
用python写爬虫简单吗
2020/07/28 Python
python判断all函数输出结果是否为true的方法
2020/12/03 Python
python 中 .py文件 转 .pyd文件的操作
2021/03/04 Python
CSS3 background-image颜色渐变的实现代码
2018/09/13 HTML / CSS
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
校园之星获奖感言
2014/01/29 职场文书
租房合同协议书
2014/04/09 职场文书
车辆工程专业求职信
2014/06/14 职场文书
课程设计的心得体会
2014/09/03 职场文书
2015年社区国庆节活动总结
2015/07/30 职场文书
奠基仪式致辞
2015/07/30 职场文书
社区干部培训心得体会
2016/01/06 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
CSS实现九宫格布局(自适应)的示例代码
2022/02/12 HTML / CSS
SQL Server数据库基本概念、组成、常用对象与约束
2022/03/20 SQL Server
宫崎骏十大动画电影,宫崎骏好看的动画电影排名
2022/03/22 日漫