Python找出list中最常出现元素的方法

yipeiwu_com7年前Python基础

本文实例讲述了Python找出list中最常出现元素的方法。分享给大家供大家参考,具体如下:

假设一个list中保存着各种元素,需要统计每个元素出现的个数,并打印出最常出现的前三个元素分别是什么。list如下:

复制代码 代码如下:
word_list =["is","you","are","I","am","OK","is","OK","She","is","OK","is","I"]

方法一(常规方法):

>>> word_counter ={}
>>> for word in word_list:
  if word in word_counter:
    word_counter[word] +=1
  else:
    word_counter[word] = 1
>>> popular_word =sorted(word_counter, key = word_counter.get, reverse = True)
)
>>> top_3 = popular_word[:3]
>>> top_3
['is', 'OK', 'I']

方法二:适用于Python2.7

>>> from collections import Counter
>>> c = Counter(word_list)
>>> c.most_common(3)

方法三:

>>> counter ={}
>>> for i in word_list: counter[i] = counter.get(i, 0) + 1
>>> sorted([ (freq,word) for word, freq in counter.items() ], reverse=True)[:3]
[(4, 'is'), (3, 'OK'), (2, 'I')]

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python列表(list)操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

python变量赋值方法(可变与不可变)

python变量赋值方法(可变与不可变)

python中不存在所谓的传值调用,一切传递的都是对象的引用,也可以认为是传址。 一、可变对象和不可变对象 Python在heap中分配的对象分成两类:可变对象和不可变对象。所谓可变对象...

python实现的按要求生成手机号功能示例

本文实例讲述了python实现的按要求生成手机号功能。分享给大家供大家参考,具体如下: 看到一个生成手机号的代码,于是自己优化了一下,可以支持按要求生成手机号。 #!/usr/bin...

softmax及python实现过程解析

softmax及python实现过程解析

相对于自适应神经网络、感知器,softmax巧妙低使用简单的方法来实现多分类问题。 功能上,完成从N维向量到M维向量的映射 输出的结果范围是[0, 1],对于一个sample的...

Python多进程并发与多线程并发编程实例总结

本文实例总结了Python多进程并发与多线程并发。分享给大家供大家参考,具体如下: 这里对python支持的几种并发方式进行简单的总结。 Python支持的并发分为多线程并发与多进程并发...

python lxml中etree的简单应用

python lxml中etree的简单应用

我一般都是通过xpath解析DOM树的时候会使用lxml的etree,可以很方便的从html源码中得到自己想要的内容。 这里主要介绍一下我常用到的两个方法,分别是etree.HTML()...