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之折腾一下目录
Oct 24 Python
部署Python的框架下的web app的详细教程
Apr 30 Python
基于python3 类的属性、方法、封装、继承实例讲解
Sep 19 Python
详解Python里使用正则表达式的ASCII模式
Nov 02 Python
python实现列表中由数值查到索引的方法
Jun 27 Python
opencv实现图片模糊和锐化操作
Nov 19 Python
Python设计模式之策略模式实例详解
Jan 21 Python
Python socket实现多对多全双工通信的方法
Feb 13 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
Jul 22 Python
Python中函数的返回值示例浅析
Aug 28 Python
TensorFlow索引与切片的实现方法
Nov 20 Python
Python While循环语句实例演示及原理解析
Jan 03 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
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
2013/06/05 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
基于jQuery的表格操作插件
2010/04/22 Javascript
如何编写高质量JS代码
2014/12/28 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
jQuery跨域问题解决方案
2015/08/03 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
详解angular2封装material2对话框组件
2017/03/03 Javascript
Vue实现自带的过滤器实例
2017/03/09 Javascript
Webpack打包css后z-index被重新计算的解决方法
2017/06/18 Javascript
JavaScript之Canvas_动力节点Java学院整理
2017/07/04 Javascript
webpack打包js的方法
2018/03/12 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
2018/04/23 Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
2018/05/25 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
2019/07/10 jQuery
vue多个元素的样式选择器问题
2019/11/29 Javascript
JavaScript中的执行环境和作用域链
2020/09/04 Javascript
在Python中使用dict和set方法的教程
2015/04/27 Python
用C++封装MySQL的API的教程
2015/05/06 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
Tensorflow 利用tf.contrib.learn建立输入函数的方法
2018/02/08 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
2019/10/24 Python
Python下载的11种姿势(小结)
2020/11/18 Python
营业员实习自我鉴定
2013/12/07 职场文书
幼儿园美术教学反思
2014/01/31 职场文书
2014庆六一活动方案
2014/03/02 职场文书
最常使用的求职信
2014/05/25 职场文书
师范生求职自荐信
2014/06/14 职场文书
公司的门卫岗位职责
2014/09/09 职场文书
群众路线表态发言材料
2014/10/17 职场文书
使用Python的开发框架Brownie部署以太坊智能合约
2021/05/28 Python
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏