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文件和目录操作方法大全(含实例)
Mar 12 Python
Python Property属性的2种用法
Jun 21 Python
详解Django中的过滤器
Jul 16 Python
使用Python绘制图表大全总结
Feb 11 Python
Python2.7编程中SQLite3基本操作方法示例
Aug 09 Python
Python文件操作之合并文本文件内容示例代码
Sep 19 Python
python表格存取的方法
Mar 07 Python
Django中的文件的上传的几种方式
Jul 23 Python
django2.2安装错误最全的解决方案(小结)
Sep 24 Python
Python数据可视化:饼状图的实例讲解
Dec 07 Python
python实现简单的购物程序代码实例
Mar 03 Python
Python绘制词云图之可视化神器pyecharts的方法
Feb 23 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
建立文件交换功能的脚本(二)
2006/10/09 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
php preg_match的匹配不同国家语言实例
2016/12/29 PHP
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
对textarea框的代码调试,而且功能上使用非常方便,酷
2006/06/30 Javascript
javascript编程起步(第四课)
2007/02/27 Javascript
jQuery 选择器理解
2010/03/16 Javascript
JQuery下的Live方法和$.browser方法使用代码
2010/06/02 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2012/01/21 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
Bootstrap进度条组件知识详解
2016/05/01 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
jquery.validate.js 多个相同name的处理方式
2017/07/10 jQuery
vue中手机号,邮箱正则验证以及60s发送验证码的实例
2018/03/16 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
Python使用QRCode模块生成二维码实例详解
2017/06/14 Python
解决Python网页爬虫之中文乱码问题
2018/05/11 Python
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
python关闭占用端口方式
2019/12/17 Python
CSS3制作缩略图的详细过程
2016/07/08 HTML / CSS
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
在线课程:Skillshare
2019/04/02 全球购物
电子商务专员岗位职责
2013/12/11 职场文书
竞争上岗演讲稿
2014/01/05 职场文书
2014基层党员批评与自我批评范文
2014/09/24 职场文书
县委务虚会发言材料
2014/10/20 职场文书
2014年乡镇工作总结
2014/11/21 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
婚前保证书范文
2015/02/28 职场文书
2015年初一班主任工作总结
2015/05/13 职场文书
JavaScript中MutationObServer监听DOM元素详情
2021/11/27 Javascript