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实现子类调用父类的方法
Nov 10 Python
Python和C/C++交互的几种方法总结
May 11 Python
Python实现列表删除重复元素的三种常用方法分析
Nov 24 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
Nov 30 Python
Django 实现下载文件功能的示例
Mar 06 Python
使用k8s部署Django项目的方法步骤
Jan 14 Python
python 处理telnet返回的More,以及get想要的那个参数方法
Feb 14 Python
Python multiprocessing多进程原理与应用示例
Feb 28 Python
解决django同步数据库的时候app models表没有成功创建的问题
Aug 09 Python
python对批量WAV音频进行等长分割的方法实现
Sep 25 Python
python人工智能human learn绘图可创建机器学习模型
Nov 23 Python
Python FuzzyWuzzy实现模糊匹配
Apr 28 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实现删除指定目录下相关文件的方法
2014/10/20 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
七个很有意思的PHP函数
2014/05/12 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
让微信小程序支持ES6中Promise特性的方法详解
2017/06/13 Javascript
vue中引用阿里字体图标的方法
2018/02/10 Javascript
浅谈FastClick 填坑及源码解析
2018/03/02 Javascript
vue中实现左右联动的效果
2018/06/22 Javascript
JavaScript实现简单随机点名器
2019/11/21 Javascript
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
JavaScript中ES6规范中let和const的用法和区别
2020/08/06 Javascript
手机浏览器唤起微信分享(JS)
2020/10/11 Javascript
[01:23:35]Ti4主赛事胜者组 DK vs EG 1
2014/07/19 DOTA
[04:22]DOTA2大事件之护国神翼
2020/08/14 DOTA
python实现百度关键词排名查询
2014/03/30 Python
Python3处理文件中每个词的方法
2015/05/22 Python
Python功能键的读取方法
2015/05/28 Python
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
2017/08/30 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
python实现代码统计器
2019/09/19 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
python 如何区分return和yield
2020/09/22 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
医学生自我鉴定范文
2013/11/08 职场文书
洗车工岗位职责
2014/03/15 职场文书
人事专员岗位职责说明书
2014/07/30 职场文书
2014年质量管理工作总结
2014/12/01 职场文书
七一建党节慰问信
2015/02/14 职场文书
法人代表资格证明书
2015/06/18 职场文书
小学见习报告
2015/06/23 职场文书
python获取带有返回值的多线程
2022/05/02 Python
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers