Python实现去除列表中重复元素的方法总结【7种方法】


Posted in Python onFebruary 16, 2019

这里首先给出来我很早之前写的一篇博客,Python实现去除列表中重复元素的方法小结【4种方法】,感兴趣的话可以去看看,今天是在实践过程中又积累了一些方法,这里一并总结放在这里。

由于内容很简单,就不再过多说明了,这里直接上代码,具体如下:

# !/usr/bin/env python
# -*- coding:utf-8 -*-
'''
__Author__:沂水寒城
功能: python列表去除方法总结(7种方法)
'''
import sys
reload(sys)
import copy
sys.setdefaultencoding("utf-8")
from collections import Counter
def func1(data_list):
 '''
 使用内置set方法去重
 '''
 return list(set(data_list))
def func2(data_list):
 '''
 借助字典方法fromkeys
 '''
 return list({}.fromkeys(data_list).keys())
def func3(data_list):
 '''
 使用类列表推导式
 '''
 res_list=[]
 for one in data_list:
  if not one in res_list:
   res_list.append(one)
 return res_list
def func4(data_list):
 '''
 使用sorted函数(其实本质上还是使用set方法进行的排序)
 '''
 res_list=copy.deepcopy(data_list)
 res_list=sorted(set(data_list),key=data_list.index)
 return res_list
def func5(data_list):
 '''
 使用"排序+计数"的方法
 '''
 result_list=[]
 temp_list=sorted(data_list)
 i=0
 while i<len(temp_list):
  if temp_list[i] not in result_list:
   result_list.append(temp_list[i])
  else:
   i+=1
 return result_list
def flagFunc(a):
 '''
 布尔函数
 '''
 if a in count_dict:
  count_dict[a]+=1
  return False
 else:
  count_dict[a]=1
  return True
def func6(data_list):
 '''
 使用map方法
 '''
 global count_dict
 count_dict={}
 tmp_list=map(flagFunc,data_list)
 return [data_list[i] for i in range(len(data_list)) if tmp_list[i]]
def func7(data_list):
 '''
 借助collections模块中的Counter方法(频度过滤方法)
 '''
 fre_list=Counter(data_list).most_common(len(data_list))
 return [one[0] for one in fre_list]
if __name__=='__main__':
 data_list=[12,4,7,3,4,2,4,3,5,12,78,9,0,4,5,0,44,3]
 print func1(data_list)
 print func2(data_list)
 print func3(data_list)
 print func4(data_list)
 print func5(data_list)
 print func6(data_list)
 print func7(data_list)

结果如下:

[0, 2, 3, 4, 5, 7, 9, 12, 78, 44]
[0, 2, 3, 4, 5, 7, 9, 12, 78, 44]
[12, 4, 7, 3, 2, 5, 78, 9, 0, 44]
[12, 4, 7, 3, 2, 5, 78, 9, 0, 44]
[0, 2, 3, 4, 5, 7, 9, 12, 44, 78]
[12, 4, 7, 3, 2, 5, 78, 9, 0, 44]
[4, 3, 0, 5, 12, 2, 7, 9, 78, 44]

果然还是很有意思的哈!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
用python实现的去除win下文本文件头部BOM的代码
Feb 10 Python
Python用imghdr模块识别图片格式实例解析
Jan 11 Python
Python基于递归算法求最小公倍数和最大公约数示例
Jul 27 Python
Python对象中__del__方法起作用的条件详解
Nov 01 Python
react+django清除浏览器缓存的几种方法小结
Jul 17 Python
pytorch 更改预训练模型网络结构的方法
Aug 19 Python
对python中的装包与解包实例详解
Aug 24 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
Sep 16 Python
Python接口测试文件上传实例解析
May 22 Python
python将YUV420P文件转PNG图片格式的两种方法
Jan 22 Python
python之基数排序的实现
Jul 26 Python
Python实现猜拳与猜数字游戏的方法详解
Apr 06 Python
Python字符串逆序输出的实例讲解
Feb 16 #Python
强悍的Python读取大文件的解决方案
Feb 16 #Python
Python基础之文件读取的讲解
Feb 16 #Python
解决Python3 被PHP程序调用执行返回乱码的问题
Feb 16 #Python
Python3 修改默认环境的方法
Feb 16 #Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
Feb 16 #Python
对Python3 解析html的几种操作方式小结
Feb 16 #Python
You might like
PHP使用者状态管理功能的应用
2006/10/09 PHP
PHP实现微信公众平台音乐点播
2014/03/20 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
2017/03/23 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
js操作css属性实现div层展开关闭效果的方法
2015/05/11 Javascript
jQuery实现tab选项卡效果的方法
2015/07/08 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
JS判断是否在微信浏览器打开的简单实例(推荐)
2016/08/24 Javascript
json定义及jquery操作json的方法
2016/10/03 Javascript
d3.js实现简单的网络拓扑图实例代码
2016/11/06 Javascript
Angularjs的Controller间通信机制实例分析
2016/11/07 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
JavaScript中的普通函数和箭头函数的区别和用法详解
2017/03/21 Javascript
JavaScript 中调用 Kotlin 方法实例详解
2017/06/09 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
2019/07/15 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
2019/10/26 jQuery
使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子
2014/04/15 Python
跟老齐学Python之数据类型总结
2014/09/24 Python
Python3中lambda表达式与函数式编程讲解
2019/01/14 Python
Python数据可视化:顶级绘图库plotly详解
2019/12/07 Python
Pytorch之view及view_as使用详解
2019/12/31 Python
Django-migrate报错问题解决方案
2020/04/21 Python
新手学习Python2和Python3中print不同的用法
2020/06/09 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
医学生个人求职信范文
2013/09/24 职场文书
成人大专自我鉴定范文
2013/10/19 职场文书
七年级数学教学反思
2014/01/22 职场文书
创业计划书如何编写
2014/02/06 职场文书
企业道德讲堂实施方案
2014/03/19 职场文书
班风口号
2014/06/18 职场文书
2014县委书记党的群众路线教育实践活动对照检查材料思想汇报
2014/09/22 职场文书
普通党员四风问题对照检查材料
2014/09/27 职场文书
开展党的群众路线教育实践活动个人对照检查材料
2014/11/05 职场文书
sql查询语句之平均分、最高最低分及排序语句
2022/05/30 MySQL