python统计英文首字母出现的次数
使用python解析有道词典导出的xml格式单词,统计各个首字母出现的次数,并按次数由多到少进行排序
相关实现
导出的xml格式如下
<wordbook>
<item>
<word>portion</word>
<trans><![CDATA[n. 部分;一份;命运vt. 分配;给…嫁妆]]></trans>
<phonetic><![CDATA[['pɔːʃ(ə)n]]]></phonetic>
<tags></tags>
<progress>2</progress>
</item>
</wordbook>
使用python3自带的xml解析器进行解析,使用字典进行保存统计结果
import time
import xml.etree.ElementTree as et
# get all word
def get_all_word(uri):
tree = et.parse(uri)
root = tree.getroot()
return root.findall('./item/word')
# calculate the first letter frequency of words
def cal_aleph(word_list):
# define dwords to save first letter count
dwords = {}
for cword in word_list:
letter = cword.text.strip()[0].lower()
# judge the letter is english letter
echar = ord(letter)
if(echar >= 97 and echar <= 122):
try:
dwords[letter] += 1
except KeyError:
dwords[letter] = 1;
# order by count desc
dwords = sorted(dwords.items(), key=lambda line:line[1], reverse=True)
return dwords
if __name__ == '__main__':
start_time = time.time()
word_list = get_all_word(r'd:\pyzone\youdao.xml')
result = cal_aleph(word_list)
for row in result:
print("%s : %d"%(row[0], row[1]))
end_time = time.time()
print('Costed time: ' + str((end_time - start_time)) + 's')
统计结果如下:

回顾
- 使用
xml.etree.ElementTree的parse解析指定路径的xml文件,root.findall查找指定节点 - sorted方法对列表进行排序
- '中文'.isalpha() 结果为True
python统计英文首字母出现的次数的更多相关文章
- Python统计日志中每个IP出现次数
介绍了Python统计日志中每个IP出现次数的方法,实例分析了Python基于正则表达式解析日志文件的相关技巧,需要的朋友可以参考下 本脚本可用于多种日志类型 #-*- coding:utf-8 -* ...
- iOS- 本地文本容错搜索引擎2-->如何实现英文(英文首字母,汉语拼音)对中文的搜索?
1.前言 先闲说几句,最近北京的雾霾真是大,呛的我这攻城师都抗不住了.各位攻城师们一定要爱护好自己的身体!空气好时,少坐多动. 如果条件好的话,最好让你们BOSS搞个室内空气净化器.因为那几天一般 ...
- python 统计字符串中指定字符出现次数的方法
python 统计字符串中指定字符出现次数的方法: strs = "They look good and stick good!" count_set = ['look','goo ...
- python统计字符串里每个字符的次数
方法一: 推导式 dd="ewq4aewtaSDDSFDTFDSWQrtewtyufashas" print {i:dd.count(i) for i in dd} 方法二: co ...
- wps取消英文首字母大写功能
wps中关于首字母大写的功能还是很有用处的,但是有时候对于我们来说却是一种累赘,怎么取消这个功能呢? 新建一个文档之后,点击wps文字,选择工具,选项按钮 然后点击编辑,取消勾选键入时自动进行首字母大 ...
- python获取汉字首字母
获取汉字首字母 关注公众号"轻松学编程"了解更多. 应用场景之一:可用于获取名字首字母,在数据库中查询记录时,可以用它来排序输出. from pytz import unicode ...
- python统计喜欢的小说主角出场次数
这周老师布置了一项作业,让我们回去将自己喜欢的小说里面的主角出场次数统计出来,我对这个充满了兴趣,但我遇到了三个问题: (1)一开始选了一部超长的小说(最爱之一),但是运行时老是不行,老是显示下图错误 ...
- python统计英文文本中的回文单词数
1. 要求: 给定一篇纯英文的文本,统计其中回文单词的比列,并输出其中的回文单词,文本数据如下: This is Everyday Grammar. I am Madam Lucija And I a ...
- python pandas根据首字母选行
ret2.loc[ret2['INNERCODE'].map(lambda x:x[0]=='6' or x[0]=='3' or x[0]=='0' ),:]和matlab不一样的风格 - -直接用 ...
随机推荐
- jsp页面中frameset的使用方法
frame,是网页开发必须掌握的知识.例如后台架构.局部刷新,页面分割,都是frame的用途表现,尤其是后台页面制作,使用frame会给用户带来非常舒适的使用感受. frame知识点包括(frames ...
- .NET 统一用户管理 -- 统一鉴权
统一鉴权 目的 为什么要统一鉴权了,每一个业务系统几乎都离不开,用户,角色,权限 这个 3个基础功能,为了避免各个系统各自去开发一套权限管理等基础功能,也同时轻松管理每个用户的全部权限. 怎么做 ...
- SQL Server delete、truncate、drop
在T-SQL中这三个命令符,相信很多朋友都不会陌生的,我自己在工作也会常常使用到它们,虽然我们清除的知道用这三个命令符可以达到怎样的预期效果. 但是却很少深入的去了解它们,知道它们有什么区别,又各有什 ...
- 保留关键字 (Transact-SQL)
https://msdn.microsoft.com/zh-cn/library/ms189822(v=sql.120).aspx Microsoft SQL Server 将保留关键字用于定义.操作 ...
- 造成win2008 500内部错误不能显示详细错误的原因和解决方法
造成500错误常见原因有:ASP语法出错.ACCESS数据库连接语句出错.文件引用与包含路径出错.使用了服务器不支持的组件如FSO等. 另外,对于win2008的IIS默认不显示详细出错信息的问题以下 ...
- 关于使用用友华表Cell控件按需打印行的方法
分享下只需一个cll文件按需打印行的觉得最好的方式:1.cell文件要打印行的地方最好不要全删了,留一行,设置好单元格样式(字体.对齐方式.折行自适应等),后面会省一些代码: 2.使用CopyRang ...
- iOS10---新特性以及适配点(转)
iOS 10 新特性以及适配点 SiriKit 所有第三方应用都可以用Siri,支持音频.视频.消息发送接收.搜索照片.预订行程.管理锻炼等 Proactive Suggestions 系统预先建议 ...
- PHP学习笔记(五)
关于Response header 的一些小知识: Host :address url, host 是浏览器给服务器提供的address标识.由于http协议是无状态的,服务器需要根据host的这个 ...
- 接口(工厂模式&代理模式)
程序1:简单的接口功能 package com.liaojianya.chapter2; /** * 编写程序实现一个usb接口,定义设备来使用这个接口,从而计算机可以调用具有usb接口的设备. * ...
- 对C++ Primer的10.3.9单词转换的思考
这篇代码有几个知识点可以复习一下,而且小白学到了新知识o(╯□╰)o #include <iostream> #include <string> #include <ma ...