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%的人还看了以下文章

  • Java GUI编程高级实例二:弹出式菜单及添加工具栏

    三、 为组件定制弹出式菜单 问题的提出  为“Java Editor”程序的文本编辑区域定制如图所示的的弹出式菜单。 菜单中有五个菜单项组成,分别指示了不同的字体风格,可通过菜单项的选择实现文本区域中文本字体和字号的改变。 用JPopupMenu类建立弹出式菜单 建立弹出式菜单 预先定义一个继承JPopupMenu类的子类,弹出式菜单施加给的对象应由构造方法…

    2020年1月22日
    3.8K0
  • java WEB编程技术上机练习一:

    jsp运行环境的搭建(jdk+TOMCAT)、编写JSP页面,配置虚拟目录并访问、熟悉MYECLIPSE的使用,包括项目的部署及运行。

    2018年8月29日
    6.3K1
  • 上机四 数据库访问技术

    2学时 一、数据库编程案例:读取数据库信息并显示 数据库员工信息表字段如下: 使用JDBC连接数据库,读取employee表中信息并显示到页面。 mysql驱动下载:mysql-connector-java-5.1.41-bin.zip 注意事项:将驱动程序mysql-connector-java-5.1.6-bin,拷贝到Web应用程序的WEB-INF\l…

    2018年10月16日 编程开发
    5.5K0
  • 如何修改从Maven中心仓库下载到本地的jar包的默认存储位置?

    为什么要修改从Maven中心仓库下载到本地的jar包的默认存储位置? 把jar包下载到本地的好处就是,当编译时,会优先从本地的jar包去找,如果本地存在,就直接拿来用,如果不存在,就从Maven的中心仓库去下载。 第一次执行”mvn compile”和”mvn clean”这两个命令时,Maven会去中央仓库下…

    2023年1月28日 编程开发
    9780
  • python 集合的使用,案例详解

    集合的定义: 1.不同元素组成 2.无序 3.集合中的元素必须是不可变类型 创建集合 s = {1,2,3,4,5,6,7,8} >>> set_test = set(‘hello’) >>> set_test {‘h’, ‘l’, ‘e’, ‘o’}  # 由此可见集合中的元素不可重复,都是不同的 集合运算 集合之间也可…

    2020年1月22日
    5.5K0
  • python属于编译型还是解释型的语言?python是哪一种类型的编译语言

    Python先把代码编译成字节码,再对字节码解释执行。 java   编译型(请求次数多)+解释型(请求次数少) 解释性语言定义: 程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低。 现代解释性语言通常把源程序编译成中间代码,然后用解释器把中间代码一条条翻译成目标机器代码,一条条执行…

    2023年2月26日
    3.1K0

发表回复

登录后才能评论