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中input和raw_input的一点区别
Oct 21 Python
Python多进程机制实例详解
Jul 02 Python
python实现二叉树的遍历
Dec 11 Python
python爬虫获取多页天涯帖子
Feb 23 Python
详解Django的model查询操作与查询性能优化
Oct 16 Python
python 限制函数执行时间,自己实现timeout的实例
Jan 12 Python
python实现自动解数独小程序
Jan 21 Python
python写日志文件操作类与应用示例
Jul 01 Python
python turtle 绘制太极图的实例
Dec 18 Python
jupyter notebook oepncv 显示一张图像的实现
Apr 24 Python
Python基于pyjnius库实现访问java类
Jul 31 Python
Sentry的安装、配置、使用教程(Sentry日志手机系统)
Jul 23 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+javascript液晶时钟
2006/10/09 PHP
第十节--抽象方法和抽象类
2006/11/16 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
yii框架通过控制台命令创建定时任务示例
2014/04/30 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
2017/02/23 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
初学js 新节点的创建 删除 的步骤
2011/07/04 Javascript
JavaScript模板入门介绍
2012/09/26 Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
2014/06/23 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
2014/06/23 Javascript
jQuery中on()方法用法实例
2015/01/19 Javascript
jquery拖拽排序简单实现方法(效果增强版)
2016/02/16 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
基于jPlayer三分屏的制作方法
2016/12/21 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
2017/05/02 Javascript
javaScript 逻辑运算符使用技巧整理
2017/05/03 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
jQuery获取复选框选中的当前行的某个字段的值
2017/09/15 jQuery
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
2018/08/25 Javascript
详解适配器在JavaScript中的体现
2018/09/28 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
electron+vue实现div contenteditable截图功能
2020/01/07 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
2020/02/10 Javascript
react 生命周期实例分析
2020/05/18 Javascript
python实现根据月份和日期得到星座的方法
2015/03/27 Python
Pandas统计重复的列里面的值方法
2019/01/30 Python
Pytorch实现基于CharRNN的文本分类与生成示例
2020/01/08 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
Python实现爬取网页中动态加载的数据
2020/08/17 Python
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
出纳工作检讨书
2014/10/18 职场文书
企业与个人合作经营协议书
2014/11/01 职场文书
小学四年级学生评语
2014/12/26 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
Nginx HTTP跳转至HTTPS
2022/05/15 Servers