怎么用python统计字数_使用Python 统计高频字数的方法
问题
(来自Udacity机器学习工程师纳米学位预览课程)
用 Python 实现函数 count_words(),该函数输入字符串 s 和数字 n,返回 s 中 n 个出现频率最高的单词。返回值是一个元组列表,包含出现次数最高的 n 个单词及其次数,即 [(, ), (, ), ... ],按出现次数降序排列。
可以假设所有输入都是小写形式,并且不含标点符号或其他字符(只包含字母和单个空格)。如果出现次数相同,则按字母顺序排列。
例如: print count_words("betty bought a bit of butter but the butter was bitter",3)
输出 [('butter', 2), ('a', 1), ('betty', 1)]
解法 """Count words."""
def count_words(s, n):
"""Return the n most frequently occuring words in s."""
w = {}
sp = s.split()
# TODO: Count the number of occurences of each word in s
for i in sp:
if i not in w:
w[i] = 1
else:
w[i] += 1
# TODO: Sort the occurences in descending order (alphabetically in case of ties)
top = sorted(w.items(), key=lambda item:(-item[1], item[0]))
top_n = top[:n]
# TODO: Return the top n most frequent words.
return top_n
def test_run():
"""Test count_words() with some inputs."""
print count_words("cat bat mat cat bat cat", 3)
print count_words("betty bought a bit of butter but the butter was bitter", 3)
if __name__ == '__main__':
test_run()
小结
主要两个小技巧:
用split()将输入字符串按空格分开;
用sorted()函数对字典 先按值,再按键 进行排序,尤其是item:(-item[1], item[0])) 代表先对item的第二个元素 降序 排列(item 之前用了-),然后对第一个元素 升序 排列。多个元素的元组亦然。
以上这篇使用Python 统计高频字数的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持聚米学院。
怎么用python统计字数_使用Python 统计高频字数的方法相关推荐
- python 时间序列预测_使用Python进行动手时间序列预测
python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...
- python 概率分布模型_使用python的概率模型进行公司估值
python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...
- python 代码行数统计工具_使用Python设计一个代码统计工具
问题 设计一个程序,用于统计一个项目中的代码行数,包括文件个数,代码行数,注释行数,空行行数.尽量设计灵活一点可以通过输入不同参数来统计不同语言的项目,例如: # type用于指定文件类型 pytho ...
- python分词统计词频_-用python找出一篇文章中词频最高的20个单词
python统计一个大文件中很多小文件里面的词频 #!/usr/bin/env python3.6 from collections import Counter from functools imp ...
- python对excel表统计视频_列表常见统计方式2_【曾贤志】用Python处理Excel数据 - 第1季 基础篇_Excel视频-51CTO学院...
---------------------------------------------------------------- 学完本课程可继续巩固篇:https://edu.51cto.com/c ...
- python对excel表统计视频_元组常用统计方法_【曾贤志】用Python处理Excel数据 - 第1季 基础篇_Excel视频-51CTO学院...
---------------------------------------------------------------- 学完本课程可继续巩固篇:https://edu.51cto.com/c ...
- python爬虫餐饮行业数据分析统计服_用Python分析统计必胜客餐厅
在之前的 一篇文章100行代码爬取全国所有必胜客餐厅 信息,我讲到如何爬取必胜客官网中全国各大城市餐厅的信息.虽然餐厅数据信息被抓取下来,但是数据一直在硬盘中"躺尸".不曾记得,自 ...
- python对象引用计数器_在Python中借助计数器对象对项目进行计数
python对象引用计数器 前提 (The Premise) When we deal with data containers, such as tuples and lists, in Pytho ...
- python 网页编程_通过Python编程检索网页
python 网页编程 The internet and the World Wide Web (WWW), is probably the most prominent source of info ...
最新文章
- Excel如何设置单元格行高,办公入门
- 智能零售来了!Amazon Go无人商店周一正式对公众开放
- Linux学习笔记——例说makefile 综合案例
- 并发基础篇(一): Java 并发性和多线程
- 简单php不用mysql_简单的PHP / MySQL不工作
- 2021超详细的Dart语言基础总结~你值得拥有~
- java 字节码增强原理_深入浅出Java探针技术1--基于java agent的字节码增强案例
- nodeJs 是什么?你需要先想清楚这个问题,才能学习nodejs (介绍)
- SAP CAP 编程模型简介
- Java项目课程04:需求分析
- c语言简单的动画程序代码,发个C代码(简单动画演示)
- Linux 重启php
- Ubuntu 16.04安装 Nmap 6.46.1
- elementui 表格格式化
- Windows Server 2016-DHCP服务器审核日志大小调整
- 用代码来模拟铁路售票系统,实现通过四个售票点发售某日某次列车的100张车票,一个售票点用一个线程表示
- 计算机进入安全模式的原因,电脑只能进入安全模式的原因及处理方法
- 刚构桥的优缺点_桥梁的优缺点
- CCTalk:为什么你做了很多无效的自动化?
- python2/3 opencv的fitline函数