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的另外几种语言实现
Jan 29 Python
Python中使用PDB库调试程序
Apr 05 Python
python字符串对其居中显示的方法
Jul 11 Python
Python中元组,列表,字典的区别
May 21 Python
Python搜索引擎实现原理和方法
Nov 27 Python
Python实现读取Properties配置文件的方法
Mar 29 Python
python 缺失值处理的方法(Imputation)
Jul 02 Python
django-rest-framework解析请求参数过程详解
Jul 18 Python
如何基于python对接钉钉并获取access_token
Apr 21 Python
通过实例解析python创建进程常用方法
Jun 19 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
Jul 03 Python
python 调用js的四种方式
Apr 11 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实现小型站点广告管理(修正版)
2006/10/09 PHP
PHP+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
php array_flip() 删除数组重复元素
2009/01/14 PHP
解读PHP中的垃圾回收机制
2015/08/10 PHP
始终在屏幕中间显示Div的代码(css+js)
2011/03/10 Javascript
在JavaScript中监听IME键盘输入事件
2011/05/29 Javascript
jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
2011/11/15 Javascript
javascript打开word文档的方法
2014/04/16 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
2014/09/03 Javascript
基于jquery css3实现点击动画弹出表单源码特效
2015/08/31 Javascript
原生js实现移动端瀑布流式代码示例
2015/12/18 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
JS使用cookie实现只出现一次的广告代码效果
2017/04/22 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
详解自定义ajax支持跨域组件封装
2018/02/08 Javascript
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
分享Angular http interceptors 拦截器使用(推荐)
2019/11/10 Javascript
浅谈vue单页面中有多个echarts图表时的公用代码写法
2020/07/19 Javascript
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
[04:11]DOTA2上海特级锦标赛主赛事首日TOP10
2016/03/03 DOTA
[56:56]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
Python实现扫描局域网活动ip(扫描在线电脑)
2015/04/28 Python
简单解析Django框架中的表单验证
2015/07/17 Python
Python爬虫辅助利器PyQuery模块的安装使用攻略
2016/04/24 Python
Face++ API实现手势识别系统设计
2018/11/21 Python
Python numpy多维数组实现原理详解
2020/03/10 Python
通过Python pyecharts输出保存图片代码实例
2020/11/25 Python
HTML5 Canvas draw方法制作动画效果示例
2013/07/11 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
澳大利亚领先的宠物用品商店:VetSupply
2017/09/08 全球购物
中国领先的汽车保养服务平台:途虎养车
2019/10/18 全球购物
三下乡活动方案
2014/01/31 职场文书
营销团队口号
2014/06/06 职场文书
先进学校事迹材料
2014/12/30 职场文书
Redis高可用集群redis-cluster详解
2022/03/20 Redis