python消除序列的重复值并保持顺序不变的实例


Posted in Python onNovember 08, 2018

python 消除序列的重复值,并保持原来顺序

1、如果仅仅消除重复元素,可以简单的构造一个集合

$ python
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> a = [1 , 3, 5, 1, 8, 1, 5]
>>> set(a)
{8, 1, 3, 5}
>>>

2、利用集合或者生成器解决:值必须是hashable类型

$ python
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> def dupe(items):
... seen = set()
... for item in items:
... if item not in seen:
... yield item
... seen.add(item)
... 
>>> a = [1 , 3, 5, 1, 8, 1, 5]
>>> list(dupe(a))
[1, 3, 5, 8]
>>>

3、消除元素不可哈希:如字典类型

Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> def rem(items, key=None):
... seen = set()
... for item in items:
... va = item if key is None else key(item)
... if va not in seen:
... yield item
... seen.add(va)
... 
>>> a = [ {'x':1, 'y':2}, {'x':1, 'y':3}, {'x':1, 'y':2}, {'x':2, 'y':4}]>>> list(rem(a, key=lambda d: (d['x'],d['y'])))
[{'y': 2, 'x': 1}, {'y': 3, 'x': 1}, {'y': 4, 'x': 2}]
>>> list(rem(a, key=lambda d: d['x']))
[{'y': 2, 'x': 1}, {'y': 4, 'x': 2}]

>>>>>> #lambda is an anonymous function:
... fuc = lambda : 'haha'
>>> print (f())
>>> print (fuc())
haha
>>>

以上这篇python消除序列的重复值并保持顺序不变的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python编程判断这天是这一年第几天的方法示例
Apr 18 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
Nov 17 Python
Python实现动态图解析、合成与倒放
Jan 18 Python
详解Python自建logging模块
Jan 29 Python
python Pexpect 实现输密码 scp 拷贝的方法
Jan 03 Python
基于pytorch的lstm参数使用详解
Jan 14 Python
Python通过正则库爬取淘宝商品信息代码实例
Mar 02 Python
python应用Axes3D绘图(批量梯度下降算法)
Mar 25 Python
python利用Excel读取和存储测试数据完成接口自动化教程
Apr 30 Python
python os模块在系统管理中的应用
Jun 22 Python
8种常用的Python工具
Aug 05 Python
Python爬虫如何破解JS加密的Cookie
Nov 19 Python
Django中的forms组件实例详解
Nov 08 #Python
python微元法计算函数曲线长度的方法
Nov 08 #Python
python实现简单的单变量线性回归方法
Nov 08 #Python
python/sympy求解矩阵方程的方法
Nov 08 #Python
python生成lmdb格式的文件实例
Nov 08 #Python
python实现嵌套列表平铺的两种方法
Nov 08 #Python
python用列表生成式写嵌套循环的方法
Nov 08 #Python
You might like
php采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
javascript的字符串按引用复制和传递,按值来比较介绍与应用
2012/12/28 Javascript
简单实用的全选反选按钮例子
2013/10/18 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
jquery表单对象属性过滤选择器实例分析
2015/05/18 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
javascript 用函数实现继承详解
2016/05/28 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
AngularJS实现给动态生成的元素绑定事件的方法
2016/12/14 Javascript
Html中 IFrame的用法及注意点
2016/12/22 Javascript
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
浅谈vue 多个变量同时赋相同值互相影响
2020/08/05 Javascript
Ant Design Vue table中列超长显示...并加提示语的实例
2020/10/31 Javascript
python中from module import * 的一个坑
2014/07/20 Python
Python新手在作用域方面经常容易碰到的问题
2015/04/03 Python
tensorflow实现KNN识别MNIST
2018/03/12 Python
scrapy-redis的安装部署步骤讲解
2019/02/27 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
Python numpy.zero() 初始化矩阵实例
2019/11/27 Python
Python中类似于jquery的pyquery库用法分析
2019/12/02 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
英国在线自行车商店:Evans Cycles
2016/09/26 全球购物
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
美国饼干礼物和美食甜点购买网站:Cheryl’s
2020/05/28 全球购物
项目资料员岗位职责
2013/12/10 职场文书
学雷锋活动倡议书
2014/08/30 职场文书
倡议书格式
2014/08/30 职场文书
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
处罚决定书范文
2015/06/24 职场文书
新学期开学寄语2016
2015/12/04 职场文书
护理自荐信
2019/05/14 职场文书
go结构体嵌套的切片数组操作
2021/04/28 Golang