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程序员鲜为人知但你应该知道的17个问题
Jun 04 Python
Python计算回文数的方法
Mar 11 Python
使用Python的urllib2模块处理url和图片的技巧两则
Feb 18 Python
详解python做UI界面的方法
Feb 27 Python
Python 实用技巧之利用Shell通配符做字符串匹配
Aug 23 Python
python实现树的深度优先遍历与广度优先遍历详解
Oct 26 Python
基于python的列表list和集合set操作
Nov 24 Python
Python3搭建http服务器的实现代码
Feb 11 Python
Python图像处理库PIL的ImageFont模块使用介绍
Feb 26 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
Feb 28 Python
Python实现发票自动校核微信机器人的方法
May 22 Python
无惧面试,带你搞懂python 装饰器
Aug 17 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入门基础之php代码写法
2011/12/30 PHP
PHP新手用的Insert和Update语句构造类
2012/03/31 PHP
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
yii中widget的用法
2014/12/03 PHP
Prototype String对象 学习
2009/07/19 Javascript
基于jquery的15款幻灯片插件
2011/04/10 Javascript
jquery如何判断某元素是否具备指定的样式
2013/11/05 Javascript
setTimeout自动触发一个js的方法
2014/01/15 Javascript
NodeJs基本语法和类型
2015/02/13 NodeJs
基于zepto的移动端轻量级日期插件--date_picker
2016/03/04 Javascript
JavaScript中的Number数字类型学习笔记
2016/05/26 Javascript
浅谈JS运算符&&和|| 及其优先级
2016/08/10 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
Vue中的数据监听和数据交互案例解析
2017/07/12 Javascript
Angular中使用better-scroll插件的方法
2018/03/27 Javascript
微信小程序云开发之使用云数据库
2019/05/17 Javascript
js中关于Blob对象的介绍与使用
2019/11/29 Javascript
用webAPI实现图片放大镜效果
2020/11/23 Javascript
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
python连接mysql数据库示例(做增删改操作)
2013/12/31 Python
pycharm 使用心得(五)断点调试
2014/06/06 Python
Python判断字符串与大小写转换
2015/06/08 Python
python中的错误处理
2016/04/10 Python
python异常触发及自定义异常类解析
2019/08/06 Python
在TensorFlow中实现矩阵维度扩展
2020/05/22 Python
CSS3中使用RGBa来调节透明度的教程
2016/05/09 HTML / CSS
Java语言的优势
2015/01/10 面试题
团队精神的演讲稿
2014/05/14 职场文书
养成教育经验材料
2014/05/26 职场文书
理财学专业自荐书
2014/06/28 职场文书
酒店餐厅2014重阳节活动策划方案
2014/09/16 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
论文致谢词范文
2015/05/14 职场文书
结婚喜宴迎宾词
2015/08/10 职场文书
pytorch中的torch.nn.Conv2d()函数图文详解
2022/02/28 Python