Python去除列表中重复元素的方法


Posted in Python onMarch 20, 2015

本文实例讲述了Python去除列表中重复元素的方法。分享给大家供大家参考。具体如下:

比较容易记忆的是用内置的set

l1 = ['b','c','d','b','c','a','a']
l2 = list(set(l1))
print l2

还有一种据说速度更快的,没测试过两者的速度差别

l1 = ['b','c','d','b','c','a','a']
l2 = {}.fromkeys(l1).keys()
print l2

这两种都有个缺点,祛除重复元素后排序变了:

['a', 'c', 'b', 'd']

如果想要保持他们原来的排序:

用list类的sort方法

l1 = ['b','c','d','b','c','a','a']
l2 = list(set(l1))
l2.sort(key=l1.index)
print l2

也可以这样写

l1 = ['b','c','d','b','c','a','a']
l2 = sorted(set(l1),key=l1.index)
print l2

也可以用遍历

l1 = ['b','c','d','b','c','a','a']
l2 = []
for i in l1:
  if not i in l2:
    l2.append(i)
print l2

上面的代码也可以这样写

l1 = ['b','c','d','b','c','a','a']
l2 = []
[l2.append(i) for i in l1 if not i in l2]
print l2

这样就可以保证排序不变了:

['b', 'c', 'd', 'a']

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python文件操作之目录遍历实例分析
May 20 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
Oct 18 Python
详解Django中间件的5种自定义方法
Jul 26 Python
Linux 修改Python命令的方法示例
Dec 03 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
Jan 17 Python
python读取.mat文件的数据及实例代码
Jul 12 Python
python爬虫selenium和phantomJs使用方法解析
Aug 08 Python
windows下Python安装、使用教程和Notepad++的使用教程
Oct 06 Python
Python 3.6打包成EXE可执行程序的实现
Oct 18 Python
python如何获取apk的packagename和activity
Jan 10 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
Aug 07 Python
Python高并发和多线程有什么关系
Nov 14 Python
python在windows下实现ping操作并接收返回信息的方法
Mar 20 #Python
Python实现微信公众平台自定义菜单实例
Mar 20 #Python
python在windows和linux下获得本机本地ip地址方法小结
Mar 20 #Python
python使用三角迭代计算圆周率PI的方法
Mar 20 #Python
Cpy和Python的效率对比
Mar 20 #Python
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
Mar 19 #Python
Python实现简单状态框架的方法
Mar 19 #Python
You might like
两款万能的php分页类
2015/11/12 PHP
ThinkPHP框架下微信支付功能总结踩坑笔记
2019/04/10 PHP
win10下 php安装seaslog扩展的详细步骤
2020/12/04 PHP
jquery 表单进行客户端验证demo
2009/08/24 Javascript
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
解决Extjs上传图片无法预览的解决方法
2012/03/22 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
2015/03/13 Javascript
JavaSacript中charCodeAt()方法的使用详解
2015/06/05 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
2015/08/26 Javascript
JavaScript仿网易选项卡制作代码
2016/10/06 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
基于Cookie常用操作以及属性介绍
2017/09/07 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
常用python数据类型转换函数总结
2014/03/11 Python
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
Python访问纯真IP数据库脚本分享
2015/06/29 Python
python实现计数排序与桶排序实例代码
2019/03/28 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
python实现贪吃蛇游戏源码
2020/03/21 Python
利用PyTorch实现VGG16教程
2020/06/24 Python
python中selenium库的基本使用详解
2020/07/31 Python
HTML实现代码雨源码及效果示例
2020/02/25 HTML / CSS
Java中的异常处理机制的简单原理和应用
2013/04/27 面试题
环境科学专业优秀毕业生自荐书
2014/02/03 职场文书
《东方明珠》教学反思
2014/04/20 职场文书
个人债务授权委托书范本
2014/10/05 职场文书
2014年单位法制宣传日活动总结
2014/11/01 职场文书
2015年幼儿园国庆节活动总结
2015/07/30 职场文书
2016学习全国教书育人楷模先进事迹心得体会
2016/01/21 职场文书
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python
python单向链表实例详解
2022/05/25 Python
Redis Lua脚本实现ip限流示例
2022/07/15 Redis