Python代码实现删除一个list里面重复元素的方法


Posted in Python onApril 02, 2019

网上学习了的两个新方法,代码非常之简洁。看来,不是只要实现了基本功能就能交差滴,想要真的学好python还有很长的一段路呀

方法一:是利用map的fromkeys来自动过滤重复值,map是基于hash的,大数组的时候应该会比排序快点吧

方法二:是用set(),set是定义集合的,无序,非重复

方法三:是排序后,倒着扫描,遇到已有的元素删之

#!/usr/bin/python
#coding=utf-8
'''
Created on 2012-2-22
Q: 给定一个列表,去掉其重复的元素,并输出
'''
def distFunc1():
  a=[1,2,4,2,4,5,6,5,7,8,9,0]
  b={}
  b=b.fromkeys(a)
  print b
  #print b.keys()
  a=list(b.keys())
  print a
def distFunc2():
  a=[1,2,4,2,4,5,7,10,5,5,7,8,9,0,3]
  a=list(set(a)) # set是非重复的,无序集合。可以用list来的排队对set进行排序,list()转换为列表,a.sort来排序
  print a
def distFunc3():
  #可以先把list重新排序,然后从list的最后开始扫描,代码如下:
  List=[1,2,4,2,4,5,7,10,5,5,7,8,9,0,3]
  if List:
    List.sort()
    #print List
    last = List[-1]
    #print last
    for i in range(len(List)-2, -1, -1):
      if last==List[i]: 
        del List[i]
      else: last=List[i]
if __name__ == '__main__':
  distFunc1()
  distFunc2()
  distFunc3()

请写出一段 Python 代码实现删除一个 list 里面的重复元素

可以先把 list 重新排序,然后从 list 的最后开始扫描,代码如下:

In [8]: List = [1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 7]
In [9]: if List:
  ...:   List.sort()
  ...:   last = List[-1]
  ...:   for i in range(len(List)-2, -1, -1):
  ...:     if last==List[i]: 
  ...:       del List[i]
  ...:     else: 
  ...:       last=List[i]
  ...: print(List)

[1, 2, 3, 4, 5, 6, 7]

总结

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

Python 相关文章推荐
Python实现列表转换成字典数据结构的方法
Mar 11 Python
实例讲解Python编程中@property装饰器的用法
Jun 20 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
Apr 24 Python
Python数据结构之哈夫曼树定义与使用方法示例
Apr 22 Python
python 遍历目录(包括子目录)下所有文件的实例
Jul 11 Python
python读取有密码的zip压缩文件实例
Feb 08 Python
Python实战之制作天气查询软件
May 14 Python
python安装numpy和pandas的方法步骤
May 27 Python
Python面向对象之类和实例用法分析
Jun 08 Python
opencv 阈值分割的具体使用
Jul 08 Python
Django日志及中间件模块应用案例
Sep 10 Python
Python fileinput模块如何逐行读取多个文件
Oct 05 Python
从0开始的Python学习014面向对象编程(推荐)
Apr 02 #Python
Python参数解析模块sys、getopt、argparse使用与对比分析
Apr 02 #Python
python flask安装和命令详解
Apr 02 #Python
详解python 3.6 安装json 模块(simplejson)
Apr 02 #Python
Pyinstaller打包.py生成.exe的方法和报错总结
Apr 02 #Python
Python3字符串encode与decode的讲解
Apr 02 #Python
深入了解和应用Python 装饰器 @decorator
Apr 02 #Python
You might like
php+AJAX传送中文会导致乱码的问题的解决方法
2008/09/08 PHP
PHP排序算法类实例
2015/06/17 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
js弹窗返回值详解(window.open方式)
2014/01/11 Javascript
node.js中的fs.readlinkSync方法使用说明
2014/12/17 Javascript
JS实现在网页中弹出一个输入框的方法
2015/03/03 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
原生JS实现 MUI导航栏透明渐变效果
2017/11/07 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
vue组件之间通信方式实例总结【8种方式】
2019/02/22 Javascript
原生js实现trigger方法示例代码
2019/05/22 Javascript
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
Python实现在Linux系统下更改当前进程运行用户
2015/02/04 Python
不要用强制方法杀掉python线程
2017/02/26 Python
python实现汉诺塔算法
2021/03/01 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
2019/08/09 Python
Python文件路径名的操作方法
2019/10/30 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
2020/06/11 Python
编程实现当输入某产品代码则打印出该产品记录的功能
2014/05/03 面试题
公司庆典邀请函范文
2014/01/13 职场文书
亲属关系公证书
2014/04/08 职场文书
党员服务承诺书
2014/05/28 职场文书
美术第二课堂活动总结
2014/07/08 职场文书
建国大业电影观后感
2015/06/01 职场文书
悬崖上的金鱼姬观后感
2015/06/15 职场文书
思想品德课教学反思
2016/02/24 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL
Django与数据库交互的实现
2021/06/03 Python
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python