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实战之决策树
Nov 01 Python
Python使用matplotlib绘制余弦的散点图示例
Mar 14 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
Apr 20 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
Dec 04 Python
Python文件操作方法详解
Feb 09 Python
解决python虚拟环境切换无效的问题
Apr 30 Python
使用pyecharts1.7进行简单的可视化大全
May 17 Python
python实现单机五子棋
Aug 28 Python
容易被忽略的Python内置类型
Sep 03 Python
Pytorch实现图像识别之数字识别(附详细注释)
May 11 Python
python控制台打印log输出重复的解决方法
May 14 Python
总结Pyinstaller打包的高级用法
Jun 28 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中文字母数字验证码实现代码
2008/04/25 PHP
PHP登录(ajax提交数据和后台校验)实例分享
2016/12/29 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
2018/10/14 PHP
测试你的JS的掌握程度的代码
2009/12/09 Javascript
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
2012/03/14 Javascript
页面使用密码保护代码
2013/04/10 Javascript
javascript 拷贝节点cloneNode()使用介绍
2014/04/03 Javascript
浅谈javascript 函数表达式和函数声明的区别
2016/01/05 Javascript
JS中dom0级事件和dom2级事件的区别介绍
2016/05/05 Javascript
js 连续赋值的简单实现
2016/06/13 Javascript
浅析Javascript ES6新增值比较函数Object.is
2016/08/24 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
2016/10/11 Javascript
AngularJS中$apply方法和$watch方法用法总结
2016/12/13 Javascript
Bootstrap实现翻页效果
2017/11/27 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
2018/07/10 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
Element InputNumber 计数器的实现示例
2020/08/03 Javascript
Python使用urllib2模块实现断点续传下载的方法
2015/06/17 Python
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
Django添加KindEditor富文本编辑器的使用
2018/10/24 Python
Django中信号signals的简单使用方法
2019/07/04 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
Django分组聚合查询实例分享
2020/04/29 Python
python如何更新包
2020/06/11 Python
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
2013/05/18 面试题
财务管理个人自荐书范文
2013/11/24 职场文书
小学开学寄语
2014/01/19 职场文书
抗洪抢险事迹材料
2014/05/06 职场文书
爱国演讲稿400字
2014/05/07 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书
工程部主管岗位职责
2015/02/12 职场文书
倡议书格式及范文
2015/04/29 职场文书
纪检监察立案决定书
2015/06/24 职场文书
通知怎么写?
2019/04/17 职场文书