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 09 Python
Python实现网络端口转发和重定向的方法
Sep 19 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
Nov 02 Python
Python实现的径向基(RBF)神经网络示例
Feb 06 Python
Python实现快速傅里叶变换的方法(FFT)
Jul 21 Python
python实现爬取百度图片的方法示例
Jul 06 Python
python3.7 sys模块的具体使用
Jul 22 Python
全面了解django的缓存机制及使用方法
Jul 22 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
Dec 25 Python
django admin 添加自定义链接方式
Mar 11 Python
python多线程和多进程关系详解
Dec 14 Python
Python实现Telnet自动连接检测密码的示例
Apr 16 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
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
2016/11/12 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
2017/08/11 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
js+FSO遍历文件夹下文件并显示
2007/03/07 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
简单谈谈javascript中的变量、作用域和内存问题
2015/08/30 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
在React 组件中使用Echarts的示例代码
2017/11/08 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
原生javascript AJAX 三级联动的实现代码
2018/05/04 Javascript
javascript数组去重方法总结(推荐)
2019/03/20 Javascript
VUE路由动态加载实例代码讲解
2019/08/26 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
2019/09/11 Javascript
vue中keep-alive、activated的探讨和使用详解
2020/07/26 Javascript
[04:44]DOTA2英雄梦之声_第12期_矮人直升机
2014/06/21 DOTA
python中wx将图标显示在右下角的脚本代码
2013/03/08 Python
解决pycharm的Python console不能调试当前程序的问题
2019/01/20 Python
Python列表元素常见操作简单示例
2019/10/25 Python
python实现快递价格查询系统
2020/03/03 Python
Python sorted排序方法如何实现
2020/03/31 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
2020/05/22 Python
python字典通过值反查键的实现(简洁写法)
2020/09/30 Python
css3新单位vw、vh的使用教程
2018/03/23 HTML / CSS
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
大专毕业生自我鉴定
2013/11/21 职场文书
问卷调查计划书
2014/01/10 职场文书
前处理组长岗位职责
2014/03/01 职场文书
委托书格式
2014/08/01 职场文书
工作证明范本(2篇)
2014/09/14 职场文书
群众路线教育实践活动实施方案
2014/10/31 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
单位介绍信格式
2015/01/31 职场文书
教师研修随笔感言
2015/11/18 职场文书
社区宣传标语口号
2015/12/26 职场文书
2019年公司快递收发管理制度模板
2019/11/20 职场文书