问题

怎样找出一个序列中出现次数最多的元素呢?

解决方案

collections.Counter 类就是专门为这类问题而设计的, 它甚至有一个有用的 most_common() 方法直接给了你答案

collections.Counter 类

1. most_common(n)统计top_n

from collections import Counter

words = [

'look', 'into', 'my', 'eyes', 'look', 'into', 'my', 'eyes',

'the', 'eyes', 'the', 'eyes', 'the', 'eyes', 'not', 'around', 'the',

'eyes', "don't", 'look', 'around', 'the', 'eyes', 'look', 'into',

'my', 'eyes', "you're", 'under'

]

#创建Counter对象

word_counts=Counter(words)

#most_common(n)函数可直接统计top-n

top_three=word_counts.most_common(3)

print(type(top_three))

print(top_three)

[('eyes', 8), ('the', 5), ('look', 4)]

2. 统计任意元素出现的次数

Counter 对象可以接受任意的由可哈希(hashable)元素构成的序列对象

在底层实现上,一个 Counter 对象就是一个字典,将元素映射到它出现的次数上

print(word_counts['look'])

4

print(word_counts["you're"])

1

3. 两个Counter对象之间可以互相使用数学运算符,从而叠加/叠减统计

word1 = [

'look', 'into', 'my', 'eyes', 'look', 'into', 'my', 'eyes',

'the', 'eyes', 'the', 'eyes', 'the', 'eyes', 'not', 'around', 'the',

'eyes', "don't", 'look', 'around', 'the', 'eyes', 'look', 'into',

'my', 'eyes', "you're", 'under'

]

word2 = ['why','are','you','not','looking','in','my','eyes']

a=Counter(word1)

b=Counter(word2)

print(a)

Counter({'eyes': 8, 'the': 5, 'look': 4, 'into': 3, 'my': 3, 'around': 2, 'not': 1, 'under': 1, "you're": 1, "don't": 1})

print(b)

Counter({'eyes': 1, 'not': 1, 'are': 1, 'you': 1, 'in': 1, 'why': 1, 'my': 1, 'looking': 1})

print(a+b)

Counter({'eyes': 9, 'the': 5, 'my': 4, 'look': 4, 'into': 3, 'around': 2, 'not': 2, 'under': 1, 'looking': 1, 'you': 1, 'why': 1, 'in': 1, 'are': 1, "you're": 1, "don't": 1})

print(a-b)

Counter({'eyes': 7, 'the': 5, 'look': 4, 'into': 3, 'around': 2, 'my': 2, 'under': 1, "you're": 1, "don't": 1})

Problem A: 零起点学算法91——找出一个数组中出现次数最多的那个元素

#include int main() { ],b[]={}; while(scanf("%d",&n)!=EOF) { ;i

【python cookbook】【数据结构与算法】12.找出序列中出现次数最多的元素

问题:找出一个元素序列中出现次数最多的元素是什么 解决方案:collections模块中的Counter类正是为此类问题所设计的.它的一个非常方便的most_common()方法直接告诉你答案. # ...

python之Counter类:计算序列中出现次数最多的元素

Counter类:计算序列中出现次数最多的元素 from collections import Counter c = Counter('abcdefaddffccef') print('完整的Cou ...

【python cookbook】找出序列中出现次数最多的元素

问题 中有这么一个问题,给定一个序列,找出该序列出现次数最多的元素.例如: words = [ 'look', 'into', 'my', 'eyes', ...

在线性级别时间内找出无序序列中的第k个元素

在一个无序序列中找出第k个元素,对于k很小或者很大时可以采取特殊的方法,比如用堆排序来实现 .但是对于与序列长度N成正比的k来说,就不是一件容易的事了,可能最容易想到的就是先将无序序列排序再遍历即可找 ...

python 找出一篇文章中出现次数最多的10个单词

#!/usr/bin/python #Filename: readlinepy.py import sys,re urldir=r"C:\python27\a.txt" disto ...

笔试题&面试题:找出一个数组中第m小的值并输出

题目:找出一个数组中第m小的值并输出. 代码: #include int findm_min(int a[], int n, int m) //n代表数组长度,m代表找 ...

javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数

javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数 function test(){ var bt = document.getElementById(&quot ...

js判断一个字符串中出现次数最多的字符及次数

最近面试总是刷到这个题,然后第一次的话思路很乱,这个是我个人思路 for循环里两个 if 判断还可以优化 var maxLength = 0; var maxStr = ''; var count = ...

随机推荐

Java生成CSV文件实例详解

本文实例主要讲述了Java生成CSV文件的方法,具体实现步骤如下: 1.新建CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils ...

SQL2012数据库加密方法

1.非对称密钥来保护新的对称密钥 /*--测试环境 Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) Oct 19 2012 13:38:57 C ...

hduoj----1142A Walk Through the Forest(记忆化搜索+最短路)

A Walk Through the Forest Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Jav ...

Hibernate逍遥游记-第10章 映射继承关系-002继承关系树中的根类对应一个表(discriminator、subclass)

1. 2. <?xml version="1.0"?> /p>

MVC UnitOfWork EntityFramework架构

MVC UnitOfWork EntityFramework架构,网站速度慢的原因总结! 最近参考使用了郭明峰的一套架构来做新的项目架构,这套架构看起来还是不错的,先向小郭同学的分享精神致敬! (郭同 ...

vue 静态资源 压缩提交自动化

需要安装co和child_process模块,co可以执行多个promise,child_process可以执行命令行的库(cmd命令) 配置winrar(压缩包)坏境变量,参考资料https://j ...

Educational Codeforces Round 33 &lpar;Rated for Div&period; 2&rpar; 题解

A.每个状态只有一种后续转移,判断每次转移是否都合法即可. #include #include using namespace std; ...

qt MessageBOX 消息

void MessageBox::slotQuestion() { switch(QMessageBox::question(this,"Question",tr("It ...

python编写的简单的mysql巡检脚本

准备工作:1    安装python 3.5,本次使用源码安装.2    安装psutil模块,使用python3.5自带的easy_install包直接运行cd /opt/python3/bin./ ...

python基础-第五篇-5&period;2递归

又是一个阳光明媚的日子,小白看着刚刚从东边升起的太阳,感觉太阳爷爷也在向她打招呼,小白就不经的微笑起来!心想:今天又会学到什么有趣的东西呢?有些小期待,也有些小激动! 小刘来得比小白还早,两辆相视而笑 ...

python counter 出现次数最少的元素_[PY3]——找出一个序列中出现次数最多的元素/collections.Counter 类的用法...相关推荐

  1. c语言找出一个数组中出现次数最多的那个元素,c语言找出数组中出现次数最多地那个元素...

    matlab中如何找出不同维度矩阵出现次数最多的数组并记录其个数 首先是胞矩阵中的序列问题,不妨假设AA{1}是一个多行两列的数据,AA{2}同例.程序如下clcclearallAA{1}=[12;2 ...

  2. 找出一个数组中出现次数最多的那个元素

    Description 找出一个数组中出现次数最多的那个元素 Input 多组输入,请处理到文件结束 每组第一行输入一个整数n(不大于20) 第二行输入n个整数 Output 找出n个整数中出现次数最 ...

  3. 【算法】大搜车——找出一个字符串中出现次数最多的字符,如果有多个出现次数相同的字符,那就找出最先出现的那个字符

    题目描述:找出一个字符串中出现次数最多的字符,如果有多个出现次数相同的字符,那就找出最先出现的那个字符 思考: 我的第一反应是分三步: 遍历字符串,统计每个字符出现的次数 找出最大的次数 找出最大次数 ...

  4. 找出一个字符串中出现次数最多的字_海量数据中找出前k大数(topk问题)

    在海量数据中找出出现频率最好的前k个数,或者从海量数据中找出最大的前k个数,这类问题通常被称为top K问题. 针对top K类问题,通常比较好的方案是分治+Trie树/hash+小顶堆(就是上面提到 ...

  5. 找出一个字符串中出现次数最多的字_Day34:第一个只出现一次的字符

    剑指Offer_编程题--第一个只出现一次的字符 题目描述: 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置,如果没有则返回-1 ...

  6. 找出一个字符串中出现次数最多的字_487,重构字符串

    想了解更多数据结构以及算法题,可以关注微信公众号"数据结构和算法",每天一题为你精彩解答. 问题描述 给定一个字符串S,检查是否能重新排布其中的字母,使得两相邻的字符不同. 若可行 ...

  7. 贪心算法求解一个序列中出现次数最多的元素问题

    贪心算法求解一个序列中出现次数最多的元素问题 题目: 指定n个正整数,编写一个实验程序找出它们中出现次数最多的数.如果这样的数有多个,请输出其中最小的一个. 输入描述:输入的第1行只有一个正整数n(1 ...

  8. 分治法——查找问题 —— 寻找一个序列中第k小的元素和查找最大和次大元素

    查找问题: 问题一:寻找一个序列中第k小的元素 对于给定的含有n个元素的无序序列,求这个序列中第k(1<=k<=n)小的元素 分析思路: 假设无序序列存放在a[0 - n-1]中,若将a递 ...

  9. python求小于n的所有素数_快速找出N以内的所有素数解法,python版本。这个应该是最快的了...

    作者:Raffeale/于大伟 质数又称素数.指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数. 一般正常人的解法是两次循环,假设求小于N的所有素数.一次用N-1之间的所有数去 ...

最新文章

  1. android studio导入aar包,AndroidStudio导入本地aar文件
  2. HTML技巧100例(三)
  3. 使用java 自带的webservice
  4. Python正则表达式如何进行字符串替换实例
  5. HDU2106 decimal system
  6. 全球顶级开源大神们现身 COSCon'20
  7. linux下搭建FTP服务器
  8. go语言os.exit(1)_在Golang中各种永远阻塞的姿势
  9. 图像处理之特征描述与匹配
  10. 模拟admin组件自己开发stark组件之创建篇
  11. 动态加载js文件 document.createElement
  12. Linux下Tomcat性能优化--文件句柄数增大
  13. [转载]从MyEclipse到IntelliJ IDEA-让你摆脱鼠标,全键盘操作
  14. 非关系型数据库Redis Linux 下安装
  15. iphone 计算机乱码,苹果电脑Word变乱码怎么办
  16. dwg格式转换成html,DWG格式转换器BitRecover DWG Converter Wizard
  17. 【Android系统源码修改】获取屏幕亮度、设置屏幕亮度
  18. 推荐系统系列——经典推荐算法
  19. 我,是广工的一名电商男孩。喜欢唱跳 rap 我们终究会遇见 有缘 李伟鸿
  20. c语言小鱼的游泳时间,信息学奥林匹克竞赛-小鱼的游泳时间

热门文章

  1. 换一种方式去思考--microsoft for win server03
  2. VBScript函数
  3. c语言中十进制与十六进制转换_小猿圈分享-java-十进制、八进制、十六进制数互相转换...
  4. kotlin 添加第一个 集合_kotlin 集合的操作
  5. html调后台接口_接口测试平台代码实现62: 多接口用例2
  6. dao和mysql映射_hibernate通过数据库生成实体类,映射文件和DAO(实用)
  7. java input是关键字吗_java 关键字transient
  8. 使用Python和Numpy进行波士顿房价预测任务(二)【深度学习入门_学习笔记】
  9. java21天打卡day20-集合
  10. 别天天看看直播了,你知道如何用jmeter对直播间做压测吗