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基础教程之tcp socket编程详解及简单实例
Feb 23 Python
Python字符串的全排列算法实例详解
Jan 07 Python
Python File(文件) 方法整理
Feb 18 Python
Python实现KNN(K-近邻)算法的示例代码
Mar 05 Python
在Django的View中使用asyncio的方法
Jul 12 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
Oct 11 Python
对Tensorflow中Device实例的生成和管理详解
Feb 04 Python
Python中os模块功能与用法详解
Feb 26 Python
python接口自动化之ConfigParser配置文件的使用详解
Aug 03 Python
Python如何实现Paramiko的二次封装
Jan 30 Python
Python使用protobuf序列化和反序列化的实现
May 19 Python
Python开发工具Pycharm的安装以及使用步骤总结
Jun 24 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基于str_pad实现卡号不足位数自动补0的方法
2014/11/12 PHP
分享常见的几种页面静态化的方法
2015/01/08 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
2017/09/30 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
2020/12/10 PHP
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
javascript读写json示例
2014/04/11 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
动态加载JavaScript文件的两种方法
2016/04/22 Javascript
Three.js学习之Lamber材质和Phong材质
2016/08/04 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
2018/09/21 Javascript
微信小程序实现星星评价效果
2018/11/02 Javascript
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
[46:38]完美世界DOTA2联赛PWL S2 Magma vs PXG 第三场 11.28
2020/12/02 DOTA
使用python获取CPU和内存信息的思路与实现(linux系统)
2014/01/03 Python
Python最基本的输入输出详解
2015/04/25 Python
python中安装Scrapy模块依赖包汇总
2017/07/02 Python
Pytorch入门之mnist分类实例
2018/04/14 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
对Python中plt的画图函数详解
2018/11/07 Python
python time.sleep()是睡眠线程还是进程
2019/07/09 Python
Python lxml库的简单介绍及基本使用讲解
2020/12/22 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
什么是托管函数?托管函数有什么用?
2014/06/15 面试题
介绍一下gcc特性
2012/01/20 面试题
生产厂厂长岗位职责
2013/12/25 职场文书
给医务人员表扬信
2014/01/12 职场文书
2014年创卫实施方案
2014/02/18 职场文书
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
2015年中秋寄语
2015/07/31 职场文书
python 下划线的多种应用场景总结
2021/05/12 Python
写好Python代码的几条重要技巧
2021/05/21 Python
Python中np.random.randint()参数详解及用法实例
2022/09/23 Python