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中MethodType方法介绍与使用示例
Aug 03 Python
python OpenCV学习笔记实现二维直方图
Feb 08 Python
python+pandas生成指定日期和重采样的方法
Apr 11 Python
Python常见数据结构之栈与队列用法示例
Jan 14 Python
python中时间、日期、时间戳的转换的实现方法
Jul 06 Python
检测python爬虫时是否代理ip伪装成功的方法
Jul 12 Python
python实现宿舍管理系统
Nov 22 Python
python实现tail实时查看服务器日志示例
Dec 24 Python
python nohup 实现远程运行不宕机操作
Apr 16 Python
如何利用Python识别图片中的文字
May 31 Python
pytorch 多分类问题,计算百分比操作
Jul 09 Python
python opencv旋转图片的使用方法
Jun 04 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 has encountered an Access Violation
2007/01/15 PHP
最新最全PHP生成制作验证码代码详解(推荐)
2016/06/12 PHP
PHP请求远程地址设置超时时间的解决方法
2016/10/29 PHP
ThinkPHP开发--使用七牛云储存
2017/09/14 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
jQuery live( type, fn ) 委派事件实现
2009/10/11 Javascript
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
xss文件页面内容读取(解决)
2010/11/28 Javascript
利用jQuery操作对象数组的实现代码
2011/04/27 Javascript
精通Javascript系列之数值计算
2011/06/07 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
JQuery切换显示的效果实例代码
2013/02/27 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
JS判断变量是否为空判断是否null
2014/07/25 Javascript
jQuery实现预加载图片的方法
2015/03/17 Javascript
javascript 应用小技巧方法汇总
2015/07/05 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
2016/07/01 Javascript
浅谈JS的基础类型与引用类型
2016/09/13 Javascript
vue的token刷新处理的方法
2018/07/17 Javascript
获取layer.open弹出层的返回值方法
2018/08/20 Javascript
vue实现简单瀑布流布局
2020/05/28 Javascript
[40:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs TNC
2018/04/01 DOTA
python中format()函数的简单使用教程
2018/03/14 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
2018/05/25 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
python爬虫 Pyppeteer使用方法解析
2019/09/28 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
2019/12/02 Python
python打开文件的方式有哪些
2020/06/29 Python
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
Html5原创俄罗斯方块(基于canvas)
2019/01/07 HTML / CSS
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
葬礼司仪主持词
2014/03/31 职场文书
寒假家长评语大全
2014/04/16 职场文书
离婚财产分配协议书
2014/10/21 职场文书
绿里奇迹观后感
2015/06/15 职场文书
关于React Native使用axios进行网络请求的方法
2021/08/02 Javascript