首页 > 编程语言 > 详细

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

时间:2016-08-01 21:14:28      阅读:177      评论:0      收藏:0      [点我收藏+]

 

方法一:是利用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里面的重复元素

原文:http://www.cnblogs.com/xiaodi914/p/5727143.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!