Python编程入门:英文词频统计

text = "Got tho on super sale. Love it! Cuts my drying time in half Reckon I have had this about a year now,\
        at least 7 months. Works great, I use it 5 days a week, blows hot air, doesnt overheat,\
        isnt to big, came quick, didnt cost much. Get you one, you will like it.The styling tip does not stay on,\
        keeps falling off in the middle of blow drying and then it's too hot to put back"
text = text.lower()
# 将特殊字符替换成为空格
for ch in '!@#$%:^&*()-.;':
    text = text.replace(ch, " ")
# 对字符串通过空格进行分割
words = text.split()
counts = {}

for word in words:
    if word in counts:
        counts[word] = counts[word] + 1
    else:
        counts[word] = 1

items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)
# 输出词频统计的结果
for i in range(3):
    word, count = items[i]
    if  i<2:
       print("{0}:{1}".format(word, count))
    else:
       print("{0}:{1}".format(word, count),end="")

要统计英文词频,可以使用Python中的字典数据结构和字符串操作函数。

下面是一个简单的示例代码,用于统计一个英文文本中每个单词出现的次数:

def word_frequency(text):
    # 将文本转换为小写并按空格分割为单词列表
    words = text.lower().split()
    
    # 创建一个空字典用于存储单词及其出现次数
    frequency = {}
    
    # 遍历单词列表
    for word in words:
        # 去除单词中的标点符号
        word = word.strip(".,!?")
        
        # 如果单词已经在字典中,则将其出现次数加1;否则将单词添加到字典中,并将出现次数设为1
        if word in frequency:
            frequency[word] += 1
        else:
            frequency[word] = 1
    
    # 返回字典
    return frequency

# 示例用法
text = "This is a sample text. It contains some words, some of which are repeated."
result = word_frequency(text)
print(result)

运行以上代码,输出结果如下:

{'this': 1, 'is': 1, 'a': 1, 'sample': 1, 'text': 1, 'it': 1, 'contains': 1, 'some': 2, 'words': 1, 'of': 1, 'which': 1, 'are': 1, 'repeated': 1}

可以看到,每个单词及其出现次数被存储在一个字典中。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/12276.html

(0)
江山如画的头像江山如画管理团队
上一篇 2023年10月3日 上午10:36
下一篇 2023年10月3日 上午11:21

99%的人还看了以下文章

  • 最全的数据结构排序算法实现及比较

    冒泡排序 类似暴力破解,1 – n 个,每个都比较一次。完成排序 public void sort(int[] arr) { int len = arr.length; for (int i = 0; i < len; i++) { for (int j = i + 1; j < len – 1; j++) { if (arr[i] …

    2020年10月13日
    2.1K0
  • 精!HTML5调用手机拍照实现图片上传服务器,并将图片地址存进数据库(下)

    这篇文章主要为大家详细介绍如何使用HTML5利用摄像头拍照实现上传功能。 上一篇只讲到前台操作,这篇专门涉及到Java后台处理,前台通过Ajax提交将Base64编码过的图片数据信息传到Java后台,然后Java这边进行接收处理,通过对图片数据信息进行Base64解码,之后使用流将图片数据信息上传至服务器进行保存,并且将图片的路径地址存进数据库。 大家可以点…

    2022年8月11日
    1.5K0
  • python turtle绘画0基础练习

    一、题目:导入turtle包(import turtle),绘制边长为100的正方形。 要求: 1、新建一个“turtle2.py”文件 2、编写程序。 3、调试程序。 4、排除错误。 二、导入turtle包(import turtle),绘制半径为40的圆(circle)。 三、题目:导入turtle包(import turtle),绘制边长为60的等边三…

    2023年6月15日
    2.2K0
  • 10秒倒计时、考试结束倒计时功能实现代码-JS

    注册成功或登录后网页会有倒计时,如5秒后跳转到哪个页面的功能。 在做一些在线测试,网上考试系统时,会用到倒计时功能。 如网上考试系统里,会有时间提示离考试结束还有多长时间,临近考试结束剩10分钟,还可以弹窗提示考生。 JavaScript实现倒计时功能代码 <!DOCTYPE html> <html> <head> &lt…

    2020年11月1日
    3.1K0
  • 第三章 JSP技术2:JSP的内置对象及使用

    内置对象:为简化Web页面的开发过程,JSP提供了一些内置对象,这些对象不用声明就可以在JSP页面中直接使用,是JSP引擎自动创建的Java类实例。
    request对象
    response对象
    out对象
    session对象
    application对象

    2018年2月2日
    2.3K0
  • JSP分页思想—核心代码

    try{condition=”select * from employee_info”; sql=conn.createStatement(); rs=sql.executeQuery(condition); int intPageSize; //一页显示的记录数 int intRowCount; //记录总数 int intPageCount; //总页数…

    2019年10月30日
    2.5K0

发表回复

登录后才能评论