http://bbs.chinaunix.net/thread-1680208-1-1.html

http://www.cnblogs.com/feisky/archive/2012/12/06/2805251.html

比较容易记忆的是用内置的set

l1 = ['b','c','d','b','c','a','a']

l2 = list(set(l1))

print l2

还有一种据说速度更快的,没测试过两者的速度差别

l1 = ['b','c','d','b','c','a','a']

l2 = {}.fromkeys(l1).keys()

print l2

这两种都有个缺点,祛除重复元素后排序变了:

['a', 'c', 'b', 'd']

如果想要保持他们原来的排序:

用list类的sort方法

l1 = ['b','c','d','b','c','a','a']

l2 = list(set(l1))

l2.sort(key=l1.index)

print l2

也可以这样写

l1 = ['b','c','d','b','c','a','a']

l2 = sorted(set(l1),key=l1.index)

print l2

也可以用遍历

l1 = ['b','c','d','b','c','a','a']

l2 = []

for i in l1:

if not i in l2:

l2.append(i)

print l2

上面的代码也可以这样写

l1 = ['b','c','d','b','c','a','a']

l2 = []

[l2.append(i) for i in l1 if not i in l2]

print l2

这样就可以保证排序不变了:

['b', 'c', 'd', 'a']

转自:http://blog.csdn.net/rainharder/article/details/5728443

1 #!/usr/bin/env python

2 #coding: utf-8

3

4 importos5 importsys6 importstring7 importoperator8 importre9 importthreading10 importcsv11

12 from time importsleep,ctime13 from collections importdefaultdict14 from collections importCounter15

16

17 deftest_01():18 #content ==> ###pos=350143600,pts=2676718###

19 #filename="F:\\yingc\\work\\goxceed-dvbs-hd\\6605\\solution\\aa"

20 filename="./aa"

21 pos=-1

22 dts=-1

23 poslist=[]24 dtslist=[]25

26 str1="###pos="

27 str2=",pts="

28

29 f =open(filename)30 for line inf:31 aa=line[0:len(str1)]32 if aa ==str1:33 pos=line[len(str1):line.index(str2)]34 dts=line[line.index(str2)+len(str2):len(line)-3-1]35 poslist.append(pos)36 dtslist.append(dts)37 f.close()38

39 #s=[11,22,11,44,22,33]

40 d =defaultdict(list)41 for k,va in [(v,i) for i,v inenumerate(poslist)]:42 d[k].append(va)43 #print d.items()

44 count=045 for value ind.items():46 if len(value[1])>1:47 printvalue48 count=count+1

49 print "poslen:"+str(len(poslist))+",dtslen"+str(len(dtslist))50 print str(len(d))+","+str(count)51

52 #d = defaultdict(list)

53 #for k,va in [(v,i) for i,v in enumerate(dtslist)]:

54 #d[k].append(va)

55 ##print d.items()

56 #for value in d.items():

57 #if len(value[1])>1:

58 #print value

59

60 #print Counter([11,22,11,44,22,33])

61

62

63

64

65 if __name__ == "__main__":66 test_01()67 print "finish"

68

aa文件中的内容如:

###pos=1349796,pts=15015###

###pos=2337820,pts=27986###

###pos=2705098,pts=29988###

###pos=6660200,pts=54721###

###pos=8055314,pts=61061###

###pos=8871800,pts=65315###

###pos=9503420,pts=68401###

###pos=12855218,pts=88338###

###pos=14253082,pts=98765###

###pos=15813764,pts=109192###

###pos=15813764,pts=109192###

###pos=15813764,pts=109192###

###pos=15813764,pts=109192###

###pos=16056146,pts=110735###

###pos=16394580,pts=113988###

###pos=17011532,pts=119911###

###pos=17257542,pts=122372###

###pos=17417974,pts=124040###

###pos=17816976,pts=128169###

###pos=17993398,pts=129838###

###pos=18302190,pts=132215###

###pos=19166088,pts=139055###

###pos=19675276,pts=143059###

###pos=19994992,pts=146146###

python去重计数_Python list去重及找出,统计重复项相关推荐

  1. 【咕嘎文本对比助手】如何两份手机号或文本对比去重,新旧两批号码如何快速的对比重复,找出重复和不重复的部分,单个文件如何找出重复,单个文件如何找出不重复下面关于五种逻辑做详细解答

    在手机号码整理过程中,群发短信还有大数据分析等整理文件的过程中经常有号码重复 有人说excel有两列数据,怎么用vlookup查找两列数据是否有重复值?在SQL语句中就很好处理了not in 就完事了 ...

  2. Leecode:给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数

    题目 /** * 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数.假设只有一个重复的整数,找出这个重复的数. * 示例 ...

  3. 2.5亿个整数中找出不重复的整数

    问题描述:在2.5亿个整数中找出不重复的整数,注,内存不足以容纳这2.5亿个整数. 思路:采用2-Bitmap(每个数分配2bit,00表示不存在,01表示出现一次,10表示多次,11无意义)进行,共 ...

  4. 大数据面试题——如何在大量的数据中找出不重复的数

    问题描述: 在2.5亿个整数中找出不重复的数,注意,内存不足以容纳2.5亿个整数. 分析解读: 方法一:分治法 采用hash的方法,把这2.5亿个数划分到更小的文件中,从而保证每个文件的大小不超过可用 ...

  5. 在2.5亿个整数中找出不重复的整数,注,内存不足以容纳这2.5亿个整数

    方案1:采用2-Bitmap(每个数分配2bit,00表示不存在,01表示出现一次,10表示多次,11无意义)进行,共需内存2^32 * 2 bit=1 GB内存,还可以接受.然后扫描这2.5亿个整数 ...

  6. 查看python安装位置图_python安装路径怎么找

    python安装路径怎么找? 在使用python的时候,有时候会需要找到python包的安装位置,来找其他安装的第三方包.下面我们来看看,在Linux平台上,怎么找到python的安装路径. Linu ...

  7. python字典计数_Python下封装个好用计数字典包

    在Py下要用到计数字典时会发现,标准库里没有现成计数字典类 Py文档指引里给出用defaultdict类实现计数字典的方案.给出的例子:>>> s = 'mississippi' & ...

  8. android 去重 比较两个list_android 去重 比较两个list_Android 去除list集合中重复项的几种方法...

    因为用到list,要去除重复数据,尝试了几种方法.记录于此... 测试数据: List li1 = new List { "", "", "" ...

  9. android 去重 比较两个list_Android 去除list集合中重复项的几种方法

    因为用到list,要去除重复数据,尝试了几种方法.记录于此... 测试数据: List li1 = new List { "", "", "" ...

最新文章

  1. java菱形有几种状态_java程序,打出一个菱形,有什么规律吗
  2. 自由主义者的周一和周五
  3. 《青春飞扬》诗集出版历程与思考分享 之三:游记、感悟与思考
  4. solr源码分析之数据导入DataImporter追溯。
  5. 14行代码AC——习题5-4 交换学生(Foreign Exchange, UVa 10763)——解题报告
  6. php入口函数,php 常用的系统函数
  7. 从51能不学编程只学c语言,51单片机C语言学习笔记8:单片机C51编程规范
  8. CH341ser(usb转串口)驱动
  9. 网络丢包怎么办?这些解决办法
  10. IB中文诗歌手法分析
  11. 傅盛:认知升级三部曲(深度好文)
  12. 【PA2011】Kangaroos
  13. CAD高版本窗体阵列LISP_AutoCAD高版本把阵列对话框调出来
  14. 【VUE】前端搜索引擎优化seo
  15. 【博学谷学习记录】超强总结,用心分享丨一款钻戒网站的html、css
  16. 群晖存储空间不足-处理方案一
  17. 基于python机票预定系统_机票预订系统课程设计.doc
  18. 基于Android的火灾报警
  19. 淘宝seo关键词优化推广技巧
  20. 关于noilinux的一些操作方法

热门文章

  1. 量子计算机时空穿越,科学家用量子计算机模拟时间机器 人类能否回到过去?...
  2. Spring @AutoWired实现原理
  3. qrcodeJS生成二维码
  4. webservice wsdl 生成服务
  5. iOS关于代理的理解
  6. Get_HD_Serial() 获得磁盘驱动器序列号
  7. 学习Direct3D(五)应用程序入口
  8. python数据分析之matplotlib绘图
  9. 怎样维系和监督多项计划
  10. Scala入门系列(十):函数式编程之集合操作