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文件夹与文件的操作实现代码
Jul 13 Python
将Python代码嵌入C++程序进行编写的实例
Jul 31 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
Nov 17 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
Apr 10 Python
python 查找文件名包含指定字符串的方法
Jun 05 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
Feb 20 Python
python创建属于自己的单词词库 便于背单词
Jul 30 Python
python中property属性的介绍及其应用详解
Aug 29 Python
python 模拟创建seafile 目录操作示例
Sep 26 Python
python 消除 futureWarning问题的解决
Dec 25 Python
pytorch:model.train和model.eval用法及区别详解
Feb 20 Python
150行python代码实现贪吃蛇游戏
Apr 24 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 MemCached 高级缓存应用代码
2010/08/05 PHP
基于jQuery的日期选择控件
2009/10/27 Javascript
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
css结合js制作下拉菜单示例代码
2014/02/27 Javascript
jQuery制作简洁的多级联动Select下拉框
2014/12/23 Javascript
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
浅谈Javascript实现继承的方法
2015/07/06 Javascript
JavaScript仿静态分页实现方法
2015/08/04 Javascript
Bootstrap被封装的弹层
2016/07/20 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
原生js实现图片放大缩小计时器效果
2017/01/20 Javascript
详解React 的几种条件渲染以及选择
2018/10/23 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
微信小程序实现搜索功能
2020/03/10 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
Nest.js 授权验证的方法示例
2021/02/22 Javascript
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
Python监控主机是否存活并以邮件报警
2015/09/22 Python
Python匹配中文的正则表达式
2016/05/11 Python
python数据类型_元组、字典常用操作方法(介绍)
2017/05/30 Python
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
python实现局域网内实时通信代码
2019/12/22 Python
PYcharm 激活方法(推荐)
2020/03/23 Python
将keras的h5模型转换为tensorflow的pb模型操作
2020/05/25 Python
Python虚拟环境的创建和使用详解
2020/09/07 Python
Python 创建守护进程的示例
2020/09/29 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
物业客服专员岗位职责
2013/11/30 职场文书
十八大演讲稿
2014/05/22 职场文书
银行金融服务方案
2014/06/11 职场文书
2014年秋季开学寄语
2014/08/02 职场文书
小学英语教学反思范文
2016/02/15 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
Java死锁的排查
2022/05/11 Java/Android
win10搭建配置ftp服务器的方法
2022/08/05 Servers