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设置socket代理的方法
Jan 14 Python
python字典的常用操作方法小结
May 16 Python
python框架django基础指南
Sep 08 Python
python if not in 多条件判断代码
Sep 21 Python
python获取外网IP并发邮件的实现方法
Oct 01 Python
tensorflow实现图像的裁剪和填充方法
Jul 27 Python
pandas 快速处理 date_time 日期格式方法
Nov 12 Python
浅谈pyqt5在QMainWindow中布局的问题
Jun 21 Python
Django中URL的参数传递的实现
Aug 04 Python
python根据时间获取周数代码实例
Sep 30 Python
手把手教你Python yLab的绘制折线图的画法
Oct 23 Python
PyTorch里面的torch.nn.Parameter()详解
Jan 03 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数据缓存技术
2007/02/14 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
使用PHP实现阻止用户上传成人照片或者裸照
2014/12/25 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
2016/03/21 PHP
php微信高级接口群发 多客服
2016/06/23 PHP
laravel5环境隐藏index.php后缀(apache)的方法
2019/10/12 PHP
判断iframe是否加载完成的完美方法
2010/01/07 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
jQuery实现ToolTip元素定位显示功能示例
2016/11/23 Javascript
JS求解三元一次方程组值的方法
2017/01/03 Javascript
微信小程序 this和that详解及简单实例
2017/02/13 Javascript
浅谈Vuejs Prop基本用法
2017/08/17 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
python实现从字符串中找出字符1的位置以及个数的方法
2014/08/25 Python
Python实现的Google IP 可用性检测脚本
2015/04/23 Python
Python函数的周期性执行实现方法
2016/08/13 Python
使用PyV8在Python爬虫中执行js代码
2017/02/16 Python
python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解
2017/11/24 Python
关于python之字典的嵌套,递归调用方法
2019/01/21 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
2021/02/22 Python
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
如何查看浏览器对html5的支持情况
2020/12/15 HTML / CSS
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
加拿大最大的钻石商店:Peoples Jewellers
2018/01/01 全球购物
美国糖果店:Sugarfina
2019/02/21 全球购物
《祁黄羊》教学反思
2014/04/22 职场文书
企业授权委托书范本
2014/09/22 职场文书
个人委托书范文
2015/01/28 职场文书
股东大会通知
2015/04/24 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
2016年学校党支部公开承诺书
2016/03/25 职场文书
家长必看:义务教育,不得以面试 评测等名义选拔学生
2019/07/09 职场文书
javaScript Array api梳理
2021/03/31 Javascript