zoukankan      html  css  js  c++  java
  • Python统计列表中的重复项出现的次数

    对一个列表,比如[1,2,2,2,2,3,3,3,4,4,4,4],现在我要统计这个列表里的重复项,并且重复了几次也要统计出来。

    eg1:

    mylist = [1,2,2,2,2,3,3,3,4,4,4,4]
    myset = set(mylist) #myset是另外一个列表,里面的内容是mylist里面的无重复 项
    for item in myset:
        print("the %d has found %d" %(item,mylist.count(item)))

    eg2:

    List=[1,2,2,2,2,3,3,3,4,4,4,4]
    a = {}
    for i in List:
        if List.count(i)>1:
            a[i] = List.count(i)
    print (a)

    利用字典的特性来实现。

    eg3:

    >>> from collections import Counter
    >>> Counter([1,2,2,2,2,3,3,3,4,4,4,4])
    Counter({1: 5, 2: 3, 3: 2})


    我再增补一个只用列表实现的方法:
    l=[1,4,2,4,2,2,5,2,6,3,3,6,3,6,6,3,3,3,7,8,9,8,7,0,7,1,2,4,7,8,9]

    count_times = []
    for i in l :
            count_times.append(l.count(i))

    print (l[l.index(max(count_times))])

    原理就是把列表中的每一个数出现的次数在其对应的位置记录下来,然后用max求出出现次数最多的位置。
    只用这段代码的话,有一个缺点,如果有多个结果,最后的现实的结果只是出现在最左边的那一个,不过解决方法也很简单

  • 相关阅读:
    C++内联函数
    C++类中创建线程
    windows下搭建Redis集群
    tcpdump截帧工具使用
    使用gdb调试应用程序
    工作之用
    primecoin服务常用命令和参数说明
    Windows mysql默认字符集修改
    primecoin在ubuntu16.04上部署服务:
    ubuntu磁盘分配和挂载
  • 原文地址:https://www.cnblogs.com/sunkai1993/p/7456808.html
Copyright © 2011-2022 走看看